netstat

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

netstat (anglicky network statistics) je v informatice nástroj pro příkazový řádek, který zobrazuje aktivní (resp. navázaná) síťová spojení (příchozí i odchozí), směrovací tabulku a řadu statistik síťového rozhraní. Je dostupný jak na unixových systémech (Linux, BSD), tak v systémech Windows NT. Typicky je používán při hledání problémů v síti nebo ve funkci síťových programů.

Parametry[editovat | editovat zdroj]

Přepínače jsou uvozeny pomlčkou (-), nikoli lomítkem (/).

  • -a  zobrazí všechna aktivní spojení a TCP a UDP porty na kterých naslouchají spuštěné procesy
  • -b  zobrazí názvy spustitelných souborů (programů), které mají otevřené spojení nebo naslouchají na síťovém portu (platí pro systémy Windows XP, Windows Server 2003 a novější); pokud se na Mac OS X zkombinuje s přepínačem -i, vrátí celkový počet přenesených bajtů
  • -e  zobrazuje ethernetové statistiky odeslaných a přijatých dat v bajtech a paketech; může být zkombinován s -s.
  • -f  zobrazuje plná doménová jména (FQDN) (dostupné pouze ve Windows Vista a novějších)
  • -g  zobrazuje informace o členech multicastových skupin pro jak IPv4 tak IPv6 (může být dostupné pouze v novějších operačních systémech)
  • -i  zobrazuje statistiky pro zadané síťové rozhraní (není dostupné ve Windows)
  • -n  IP adresy čísla portů jsou vyjádřena číselně (není použit reverzní převod pomocí DNS na jména)
  • -m  zobrazuje statistiky streamů
  • -o  zobrazuje aktivní TCP spojení včetně ID (PID) procesu příslušného spojení; může být kombinován s přepínači -a, -n a -p; funkční ve Windows XP, Windows 2003 Server (s hotfixem i ve Windows 2000)
  • -p  v systémech Windows a BSD zobrazuje specifikovaný protokol (tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 nebo ipv6)
  • -p  v Linuxu zobrazuje, které procesy používají které sokety (podobné jako -b pod Windows); vyžaduje, aby byl spuštěn s právy správce
  • -p  v systému Solaris zobrazuje specifikovaný protokol (ip, ipv6, icmp, icmpv6, igmp, udp, tcp, nebo rawip)
  • -r  zobrazuje obsah IP routovací tabulky (stejné jako příkaz route print ve Windows)
  • -s  zobrazuje statistiky protokolu, implicitně jsou zobrazovány pro TCP, UDP, ICMP a IP; pokud je nainstalován protokol IPv6 ve Windows XP, jsou zobrazeny statistiky TCP přes IPv6, UDP přes IPv6, ICMPv6 a IPv6 protokoly; parametr -p může být použit k upřesnění nastavení protokolu
  • -v  když je použit ve spojení s -b, zobrazí posloupnost komponent zahrnutých ve vytvoření spojení nebo naslouchání portu
  • -interval  znovu zobrazí vybrané informace dle zadaného intervalu; stisknutí CTRL+C přeruší zobrazování; když je parametr vynechán, netstat vypíše vybrané informace pouze jednou
  • -h (unix) /? (windows)  zobrazí nápovědu

Popis výstupu[editovat | editovat zdroj]

Výstup příkazu netstat obsahuje dvě části. První je věnovaná protokolům TCP a UDP a druhá (která je k dispozici jen v unixových systémech) popisuje unixové sokety.

Výstup pro TCP/IP[editovat | editovat zdroj]

Následující příklad popisuje stav protokolů TCP a UDP (tučně vyznačený text je zadán jako příkaz na příkazovém řádku v Linuxu):

$ netstat -pantu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1257/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1329/sshd
tcp 0 52 10.1.0.1:22 10.1.0.10:57566 SPOJENO 2284/0
udp 0 0 0.0.0.0:53 0.0.0.0:* 1257/named
Proto
Sloupec Proto obsahuje název protokolu- Jméno protokolu (TCP nebo UDP).
Local Address
Sloupec Local Address (místní adresa) obsahuje IP adresu místního konce spojení, za dvojtečkou pak číslo používaného portu (neurčený port obsahuje hvězdičku). Protože byl zadán přepínač -n, jsou místo jmen zobrazeny IP adresy. Pokud není port doposud nastaven, číslo portu se zobrazí jako hvězdička (*).
Foreign Address
Sloupec Foreign Address (vzdálená adresa) obsahuje IP adresu a port vzdáleného konce spojení (typicky IP adresa vzdáleného počítače).
State
Sloupec State (stav) popisuje interní stav TCP spojení (CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND a TIME_WAIT).
PID/Program name
Sloupec PID/Program name (číslo procesu/název programu) obsahuje identifikaci spuštěného programu, kterému příslušné spojení přísluší.

Výstup unixových soketů[editovat | editovat zdroj]

V následujícím výpisu jsou zobrazeny otevřené unixové sokety:

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 11 [ ] DGRAM 11237 /dev/log
unix 3 [ ] STREAM CONNECTED 11848 @/var/run/hald/dbus-LRRvLjNTgb

Příklady[editovat | editovat zdroj]

Zobrazujeme statistiky pouze TCP a UDP protokolů. Napište jeden z následujících příkazů:

netstat -sp tcp
netstat -sp udp

zobrazí aktivní TCP spojení a ID procesů každých 5 sekund. Napište následující příkaz (Na Microsoft Windows funguje jedině na XP a 2003 nebo na Windows 2000 s hotfixem):

netstat -o 5

Mac OS X version

netstat -w 5

Zobrazuje aktivní TCP spojení a ID procesy pomocí číselné podoby. Napište následující příkaz (Na Microsoft Windows funguje jedině na XP a 2003 nebo na Windows 2000 s hotfixem):

netstat -no

Zobrazuje všechny otevřené porty a procesy s id 'pid'

netstat -ao | grep "pid"

Externí odkazy[editovat | editovat zdroj]