Konu
:
Netstat Nedir? Nasıl Kullanılır?
Yalnız Mesajı Göster
Netstat Nedir? Nasıl Kullanılır?
08-12-2012
#
1
Prof. Dr. Sinsi
Netstat Nedir? Nasıl Kullanılır?
Netstat Nedir? Nasıl Kullanılır?
Netstat konusunda kısa giriş bilgileri vereceğim
Netstat (network statistics) Network bağlantıları, routing tablosu, ara birim istatistikleri ve benzeri ağ bağlantısı bilgileri ile ilgili ayrıntılı bilgiler verebilen bir konsol komutudur
Netstat komutu çeşitli parametrelerle kullanılmaktadır
Bu parametrelerin anlamları şunlardır:
-a Tüm TCP ve UDP bağlantıları ekrana basar
-e Gelen ve giden paket sayısını istatistiklerini görüntüler
-n Tüm bağlantıları rakamsal olarak görüntüler
-o Tüm bağlantıları PID numarası ve uygulama adına göre listeler
-p Bağlantıların kullandığı uygulama ve PID numarasını ekrana basar
-s Kurallara göre istatistiksel verileri ekrana basar
-r IP Yönlendirme tablosunu içeriğini görüntüler
Netstat çıktısında yer alan bağlantı durumlarının anlamları da şunlardır:
ESTABLISHED : Soket bağlantı gerçekleştirmiş durumdadır
SYN_SENT : Soket bağlantı kurmaya çalışıyordur
SYN_RECV : Ağdan bir bağlantı isteği gelmiştir
FIN_WAIT1 : Soket kapatılmış , bağlantı sonlandırılmak üzeredir
FIN_WAIT2 : Bağlantı sonlandırılmıştır
Soket karşı ucun bağlantıyı sonlandırmasını beklemektedir
TIME_WAIT : Soket kapndıktan sonra gelebilecek paketleri alabilmek için beklemektedir
CLOSED : Soket kullanılmamaktadır
CLOSE_WAIT : Karşı uç bağlantıyı kapatmıştır
Soketin kapanması beklenmektedir
LAST_ACK : Karşı uç bağlantıyı sonlandırmış ve soketi kapatmıştır
Onay beklenmektedir
LISTEN : Soket gelebilecek bağlantılar için dinleme konumundadır
CLOSING : Yerel ve uzak soketler kapatılmış fakat tüm verilerini göndermemiş durumdadırlar
Tüm veriler gönderilmeden soketler kapanmazlar
SSH üzerinde netstat çıktılarını almak için bazı örnek komutlar
netstat -ntu
tüm TCP ve UDP bağlantıları listeler (rakamsal olarak)
netstat -ntu | grep SYN
tüm TCP ve UDP bağlantılar içinde SYN_SENT ve SYN_RECV bağlantı durumlarını ekrana basar
grep sonrasında yer alan kısmı kendi isteğinize göre değiştirebilirsiniz
Örnek komut yazacak olursak
netstat -ntu | grep ESTABLISHED
ekrana sadece ESTABLISHED olan bağlantı durumlarını basar
netstat -ntu | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127
0
0
1 -e 0
0
0
0
Yukarıda yer alan komut ffff tablosu ile ekrana basılan değerler dahil tüm ip listesini küçükten büyüye göre sıralar
Yine komuta grep ekleyerek bağlantı durumuna göre listeleme yapabiliriz
for i in $(netstat -ntu | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -n | grep -v -e server -e Address -e 127
0
0
1 -e 0
0
0
0 | awk '{ if ($1 > 30) print $2 }'); do /usr/sbin/csf -d $i;done
Yukarıda yer alan komut ise 30 rakamından büyük bağlantı sayısı oluşturan tüm ipleri csf firewall yazılımı aracılığı ile banlayarak sunucudan uzaklaştırılır
Son awk yazılımında yer alan 30 değerini yükselterek limiti arttırabilir yine netstat sonrası grep ekleyerek sıralamayı belirli bağlantı durumlarına göre listeleyebilirsiniz
netstat ile bunun dışında birçok yazılımınızın istatistik toplayarak kullanacağı en yararlı ağ komutlarından biridir
Prof. Dr. Sinsi
Kullanıcının Profilini Göster
Prof. Dr. Sinsi Kullanıcısının Web Sitesi
Prof. Dr. Sinsi tarafından gönderilmiş daha fazla mesaj bul