netstat
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ů.
Typ softwaru | konzolová aplikace, utilita a příkaz |
---|---|
Některá data mohou pocházet z datové položky. |
Parametry
Přepínače jsou uvozeny spojovníkem (-
), 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říkazroute 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), resp./?
(Windows) : zobrazí nápovědu
Popis výstupu
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
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ů
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
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 verze:
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
- net-tools – net-tools na sourceforge.net
- Ports & Services Database
- Microsoft TechNet Netstat article – dokumentace pro netstat v příkazovém řádku pro windows.
- The netstat Command (Linux) – průvodce použití příkazu netstat v Linuxu.
- Security Now #49 – The NETSTAT Command
- From linux-ip.net – Více kompletní popis některých aspektů na výstupu.