A netstat (network statistics, hálózati statisztika) egy parancssori eszköz, amely megjeleníti a hálózati kapcsolatokat (kimenő és bejövő kapcsolatot egyaránt), az irányítótáblákat, és más egyéb hálózati statisztikákat. Az alkalmazás elérhető Unix, Unix-szerű, és Windows NT alapú operációs rendszereken. Hálózati problémák megtalálására, továbbá a hálózat forgalmának és teljesítményének mérésére használják.[1]
Az ehhez a parancshoz használt paramétereket kötőjel (-) előzi meg, ritkábban pedig perjel (/).
-a
: megjelenít minden aktív kapcsolatot, illetve azokat a TCP és UDP portokat, amelyeken a számítógép „fülel”.-b
: megjeleníti azon bináris (futtatható) programok nevét, amelyek beleavatkoztak a kapcsolatok létrejöttébe, vagy „fülelnek” egy porton. Mac OS X rendszeren, ha ezt kombináljuk a -i
kapcsolóval, megkapjuk a forgalmazott byte-k mennyiségét.-e
: megjeleníti az ethernet statisztikákat, mint pl. a küldött és fogadott bájtok mennyiségét. Ez a paraméter kombinálható a -s
kapcsolóval.-f
: megjeleníti az idegen címek teljesen minősített tartományneveit (fully qualified domain names, FQDN). (Csak a Windows Vista, vagy újabb operációs rendszeren érhető el.)-g
: megjeleníti az IPv4 és IPv6 multicast csoporttagság-információit. (Csak újabb operációs rendszereken.)-i
: megjeleníti a hálózati interfészeket, és azok statisztikáit. (Nem elérhető Windows alatt.)-n
: megjeleníti az aktív TCP kapcsolatokat, ugyanakkor a címek és portszámok numerikusan kerülnek kijelzésre, semmiképp nem határozza meg azok neveit.-m
: megjeleníti a STREAM statisztikákat.-o
: megjeleníti az aktív TCP kapcsolatokat, és a kapcsolatokhoz tartozó folyamatok ID (PID) számát is. A PID alapján megtalálható az alkalmazás a Windows Feladatkezelő Folyamatok fülén. A paraméter kombinálható a -a, -n
és -p
kapcsolókkal is. A paraméter elérhető Microsoft Windows CP, Server 2003 (és Server 2000, egy hotfix[2] alkalmazásával) alatt.-p
: Windows és BSD: megjeleníti a kapcsolatokat a protokollok alapján jellemezve. Jelen esetben a protokoll lehet TCP, UDP, TCPv6, vagy UDPv6.-p
: Linux: megjeleníti, hogy melyik csatlakozót melyik folyamat használja (hasonló, mint a -b kapcsoló Windows alatt) (csak rootként hajtható végre).-p
: Solaris: megjeleníti a kapcsolatokat a protokollok alapján jellemezve. Jelen esetben a protokoll lehet IP, IPv6, ICMP, ICMPv6, IGMP, UDP, TCP, vagy RAWIP.-r
: megjeleníti az IP irányító tábla(útválasztó tábla tartalmát (megegyezik a route print paranccsal Windows alatt).-s
: megjeleníti a protokollokra vetíthető statisztikákat. Alapértelmezetten a TCP, UDP, ICMP, és IP protokollok statisztikái jelennek meg. Ha a Windows XP-re az Ipv6 protokoll telepítve van, IPv6-on keresztül kapjuk meg a TCP és UDP statisztikáit, továbbá megjelenik az ICMPv6 és az IPv6 protokoll statisztikája is. A -p
kapcsolóval beállíthatjuk, hogy mely protokollokra vonatkozva kapjuk meg a jelentést.-v
: amikor együtt használják a -b
kapcsolóval, megjeleníti a kapcsolat létrehozásában szerepet játszó, vagy a porton „fülelő” alkalmazások sorát.Intervallum
: újra megjeleníti a kiválasztott információkat minden intervallum-másodpercben. A CTRL+C megnyomásával megállítható a folyamatos kijelzés. Ha a paraméter el lett hagyva, a netstat csak egyszer jeleníti meg az információkat.-h
(unix) /?
(windows) : megjeleníti a súgófájlt a parancssorban.A netstattal a következő statisztikákat kérhetjük le:
A kijelzett állapotok listája:[3]
A TCP vagy UDP protokollok statisztikájának megtekintéséhez üsse be az alábbi parancsok közül az egyiket:
netstat -sp tcp netstat -sp udp
Az aktív TCP kapcsolatok, és folyamatok azonosítójának 5 másodpercenként frissülő listájáért üsse be az alábbi parancsot (Microsoft Windows esetén csak XP és 2003 alatt működik, illetve a hotfix-el ellátott Windows 2000-n):
netstat -o 5
Mac OS X verzió:
netstat -w 5
Az aktív TCP kapcsolatok, és folyamatok azonosítójának numerikus listájáért a következő parancsot üsse be (Microsoft Windows esetén csak XP és 2003 alatt működik, illetve a hotfix-el ellátott Windows 2000-n):
netstat -no
Az összes, folyamat által megnyitott port listája a folyamatok ID PID-jével előhívható az alábbi paranccsal:
netstat -ao | grep ”pid”
A netstat néhány verziójából hiányzik a határozott elválasztó a printf-alapú kimenetben, így a numerikus mezők egybefolynak, és a kimeneti adat megsérül.
Linux alatt a nyers adatok gyakran megszerezhetőek a /proc/net/dev könyvtárból, így megkerülhető a printf-kimenet által generált adatsérülés.
Windows platformon a netstat információak elérhetőek a GetTcpTable és a GetUdpTable funkciók meghívásával az IP Helper API-ban, vagy az IPHLPAPI.DLL-ben. Az így kapott információ tartalmazza a helyi és távoli számítógép IP-címeit, helyi és távoli portjait, és (a GetTcpTable-l) a TCP státusz kódjaik. Mellékesen a parancssoros netstat.exe eszköz a Windows-al együtt érkezik, de elérhetőek GUI alapú netstat programok is. Ugyancsak Windows alatt a parancs csak akkor érhető el, ha az Internet Protokoll (TCP/IP) a Hálózati Kapcsolatok részénél telepítve lett a hálózati eszközhöz.
Mac OS X 10.5 esetén az -o kapcsoló nem elérhető. Az ezen verziójú OS X alatt az /Applications/Utilities mappa tartalmaz egy hálózati kiegészítő programot, a Network Utility-t, amely Netstat opciója egy GUI-val rendelkező eszköz, Ping, Lookup, Traceroute, Whois, Finger és Port Scan lehetőségekkel.