netstat( statistika sítě ) je nástroj příkazového řádku, který zobrazuje stav připojení TCP (příchozích i odchozích), směrovací tabulky, počet síťových rozhraní a statistiky síťových protokolů . K dispozici v operačních systémech UNIX a Windows . Hlavním účelem nástroje je najít síťové problémy a určit výkon sítě.
Na Linuxu se klasická utilita netstat z balíčku „net-tools“ dočkala novější alternativy, utilita ss z balíčku „ iproute2 “. [1] [2]
Příkaz netstat zobrazuje obsah různých datových struktur souvisejících se sítí v různých formátech v závislosti na zadaných možnostech.
První forma příkazu zobrazuje seznam aktivních soketů ( soketů ) pro každý protokol. Druhý formulář vybírá jednu z několika dalších síťových datových struktur. Třetí formulář zobrazuje statistiku dynamického předávání paketů na konfigurovaných síťových rozhraních; argument interval určuje, kolik sekund se informace shromažďují mezi po sobě jdoucími zobrazeními.
Výchozí hodnota pro systémový argument je /unix; pro základní argument je výchozí hodnota /dev/kmem.
-A | Zobrazit stav všech zásuvek; obvykle sokety používané serverovými procesy nejsou zobrazeny. |
-A | Zobrazit adresy všech bloků řízení protokolu spojených se sokety; slouží k ladění. |
-b | Zobrazuje spustitelný soubor zapojený do vytváření každého připojení nebo port, který čeká. Někdy známé spustitelné soubory obsahují více nezávislých komponent. Poté se zobrazí sekvence komponent, které se podílejí na vytvoření spojení, případně čekající port. V tomto případě je název spustitelného souboru dole v závorkách [ ], nahoře komponenta, kterou volá, a tak dále, dokud není dosaženo TCP/IP. Upozorňujeme, že tento přístup může trvat dlouho a vyžaduje dostatečná oprávnění. |
-i | Zobrazit stav automaticky nakonfigurovaných rozhraní. Rozhraní, která jsou v systému staticky nakonfigurována, ale nebyla nalezena při spouštění, nejsou zobrazena. |
-n | Zobrazit síťové adresy jako čísla. netstat obvykle zobrazuje adresy jako znaky. Tuto možnost lze použít s jakýmkoli formátem zobrazení. |
-r | Zobrazit směrovací tabulky. Při použití s volbou -s zobrazí statistiku směrování. |
-s | Zobrazit statistické informace o protokolech. Při použití s volbou -r zobrazí statistiku směrování. |
-f rodina_adresy | Omezte zobrazení statistik nebo adres řídicích bloků pouze na zadanou rodinu_adres, kterou lze zadat jako:
inet Pro rodinu adres AF_INET nebo unix Pro rodinu adres AF_UNIX . |
-i rozhraní | Vyberte informace o zadaném rozhraní v samostatném sloupci; standardně (pro třetí formu příkazu) se používá rozhraní s největším množstvím přenesených informací od posledního restartu systému. Rozhraním může být kterékoli z rozhraní uvedených v konfiguračním souboru systému, například emd1 nebo lo0. |
-p | Zobrazit ID/název procesu, který vytvořil soket (-p, --programs zobrazí PID/název programu pro sokety) |
Aktivní zásuvky
Pro každý aktivní soket zobrazuje protokol, velikost přijímacích a přijímacích front (v bajtech), místní a vzdálenou adresu a vnitřní stav protokolu. Formát znaků běžně používaný k zobrazení adres soketu je buď:
hostname.portpokud je zadán název hostitele, buď:
síť.portpokud adresa soketu určuje síť, ale ne konkrétního hostitele. Názvy hostitelů a sítí jsou převzaty z odpovídajících položek v souboru /etc/hosts nebo /etc/networks .
Pokud není znám název sítě nebo hostitele pro adresu (nebo pokud je zadána volba -n), adresa se zobrazí jako čísla. Nespecifikované nebo "zobecněné" adresy a porty jsou zobrazeny jako "*". Další informace o konvencích pojmenování Internetu naleznete na stránce inet man .
TCP sokety
Pro TCP sokety jsou platné následující stavové hodnoty:
ZAVŘENO | ZAVŘENO Zásuvka se nepoužívá. |
POSLECHNOUT (POSLOUCHAT) | Čekání na příchozí spojení. |
SYN_SENT | Aktivně se pokouší navázat spojení. |
SYN_RECEIVED | Probíhá počáteční synchronizace připojení. |
ZALOŽENO | Spojení navázáno. |
CLOSE_WAIT | Vzdálená strana se odpojila; čekání na uzavření zásuvky. |
FIN_WAIT_1 | Zásuvka je uzavřena; odpojení spojení. |
ZAVÍRÁNÍ | Zásuvka je uzavřena, poté je vzdálená strana odpojena; Čekání na potvrzení. |
LAST_ACK | Vzdálená strana je odpojena a zásuvka je uzavřena; Čekání na potvrzení. |
FIN_WAIT_2 | Zásuvka je uzavřena; čekání na odpojení vzdálené strany. |
TIME_WAIT | Soket je uzavřen, ale čeká na zpracování paketů, které jsou stále v síti. |
Síťové datové struktury
Zobrazené údaje závisí na volbě volby -i nebo -r. Pokud jsou zadány obě možnosti, netstat vybere -i.
Zobrazit směrovací tabulku
Směrovací tabulka zobrazuje všechny dostupné cesty (trasy) a stav každé z nich. Každá trasa se skládá z cílového hostitele nebo sítě a brány, která se používá k předávání paketů. Sloupec flags zobrazuje stav trasy (U, pokud je povoleno), zda trasa vede k bráně (G), zda byla trasa vytvořena dynamicky s přesměrováním (D) a zda je místo toho použita adresa unihost (H). síťové adresy. Například rozhraní poskytovatele přenosu zpětné smyčky lo0 má vždy příznak H.
Přímé cesty jsou vytvořeny pro každé rozhraní připojené k místnímu hostiteli; pole brány pro takové záznamy udává adresu výstupního rozhraní.
Sloupec refcnt zobrazuje aktuální počet aktivních použití trasy. Protokoly orientované na připojení obvykle používají během připojení jednu trasu, zatímco protokoly bez připojení přijímají trasu pro každé odeslání do stejného cíle.
Sloupec použití zobrazuje počet paketů odeslaných na trase.
Sloupec rozhraní zobrazuje síťové rozhraní používané trasou.
Souhrnná statistika přenosu dat
Když je zadán argument interval, netstat zobrazí tabulku souhrnných statistik o přenášených paketech, chybách a kolizích. První zobrazený řádek dat, stejně jako každý následující 24. řádek, obsahuje souhrnné statistické informace od posledního restartu systému. Každý následující řádek zobrazuje data nashromážděná pro další interval zadaný v příkazovém řádku od posledního zobrazení.
Tabulky jádra se mohou měnit, jak je zpracovává netstat, což má za následek nesprávné nebo neúplné výsledky.