# Netstat
netstat (network statistics) ağ bağlantıları (hem gelen hem giden), yönlendirme tabloları ve ağ arayüzü istatistiklerini görüntüleyen bir komut satırı aracıdır. netstat komutu UNIX, Linux ve Windows NT tabanlı işletim sistemlerinde kullanılabilir.
netstat komutu ağdaki problemleri bulma ve ağ üzerindeki trafiğin miktarını belirlemek için kullanılır.


## Parametreler.
Bu komut ile kullanılan parametrelerin başında bir tire (-) işareti olmalıdır.
-a : Tüm aktif bağlantıları ve bilgisayarın dinlediği TCP ve UDP portları görüntüler.
-b : Bağlantı oluşturan veya port dinleyen ikili programların isimlerini görüntüler. (Windows XP, 2003 Server ve daha yeni Windows işletim sistemlerinde (Microsoft Windows 2000 veya diğer Windows olmayan işletim sistemleri)) MAC OS X işletim sistemin -i parametresi ile birlikte kullanıldığında ağdaki toplam trafiği rapor edecektir.
-e : Gönderilen byte ve packet sayısı gibi ethernet istatistiklerini görüntüler. Bu parametre -s parametresi ile birlikte kullanılabilir.
-f : Yabancı adreslerin alan adlarını görüntüler. (sadece Windows Vista ve daha yeni işletim sistemlerinde vardır.).
-g : IPv4 ve IPv6 için multicast grup üyelik bilgilerini görüntüler.
-i : Ağ arayüzlerini ve onlara ait istatistikleri görüntüler. (Windows altında kullanılabilir değildir)
-m : STREAMS istatistislerini görüntüler.
-n : Aktif TCP bağlantılarını görüntüler.Ancak adresler ve bağlantı noktası numaraları sayısal olarak ifade edilir, herhangi bir isim belirlemesi yapılmaz.
-o : Ağ zamanlayıcılar ile ilgili bilgileri gösterir.
-p Windows ve BSD: Protokol: Protokol tarafından belirlenmiş protokol bağlantılarını gösterir. Protokol tcp, udp, tcpv6 veya udpv6 olabilir. Eğer bu parametre -s ile birlikte kullanılırsa protokole ait istatistikler gösterilir.
-p Linux: Süreçlerin kullandığı soketleri gösterir. (Windows altındaki -b parametresine benzerdir.) (Bu komutu kullanmak için root olmanız gerekmektedir)
-P Solaris: Protokol: Protokol tarafından belirlenmiş protokol bağlantılarını gösterir. Protokol ip, ipv6, icmp, icmpv6, igmp, udp, tcp, or rawip olabilir.
-r : Yönlendirme tablosunun içeriğini gösterir. (Windows altındaki route print komutuna eşdeğerdir)
-s : Her bir protokol için istatistikleri görüntüler.
-t Linux: Sadece TCP bağlantılarını görüntüler.
Interval : Seçili bilgileri, saniye olarak ayarlanan süredeki aralıklar yeniden görüntüler. CTRL + C yeniden görüntüleme özelliğini durdurmak için kullanılır. Bu parametre atlanırsa, netstat sadece bir kez seçilen bilgileri yazdırır.
-h (unix) /? (windows): Komut satırında help görüntüler.


## Sağlanan İstatistikler.
Netstat şunlar hakkında istatikleri sağlar:
  - Protokol - Protokol ismi (TCP or UDP).
  - Yerel Adres - Bilgisayarın IP adresi ve kullanımda olan portları. -n parametresi belirtilmediği sürece bilgisayarın ismine karşılık gelen IP adresi ve port adı gösterilir.
  - Yabancı Adres - Bağlantı kurulan bilgisayarın IP adresi ve port numarası. -n parametresi belirtilmediği sürece bilgisayarın ismine karşılık gelen IP adresi ve port adı gösterilir.
  - Durum - TCP bağlantısının durumu. Münkün olan durumlar şunlardır: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, and TIME_WAIT. TCP bağlantısının durumları hakkında daha fazla bilgi edinmek için RFC 793'e bakınız.


## Örnekler.
Sadece TCP ve UDP protokollerine ait istatistikleri görmek için aşağıdaki komutları yazınız:
netstat -sp tcp
netstat -sp udp
Aktif TCP bağlantılarını ve süreç numaralarını her 5 saniyede bir görmek için, şu komutu yazınız (Microsoft Windows altında, sadece XP ve 2003 üzerinde çalışır):
netstat -o 5
Mac OS X version
netstat -w 5
Aktif TCP bağlantılarını ve süreç numaralarını sayısal formda görüntülemek için, şu komutu yazınız Microsoft Windows altında, sadece XP ve 2003 üzerinde çalışır):
netstat -no
Bir süreçe ait açık olan tüm portları görüntülemek için:
netstat -aop | grep "pid"