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 127001 -e 0000 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 127001 -e 0000 | 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 |
|