Termín „netstat“ je zkratka pro Network Statistics. Laicky řečeno, příkaz netstat zobrazuje aktuální síťová připojení, statistiky síťových protokolů a řadu dalších rozhraní.
Pokud zadáme netstat
v terminálu, bez jakýchkoli znalostí o počítačových sítích, na nás systém vrhá širokou škálu síťového žargonu. Je na odpovědnosti programátora, aby extrahoval důležité informace a zbytek vyprázdnil.
V tomto článku odpovíme na některé dotazy týkající se počítačových sítí pomocí netstat
příkaz.
Identifikujte aktivní síťová připojení pomocí příkazu Netstat
K zobrazení všech aktivních síťových připojení v Linuxu používáme
netstat -a
Výstup:
Standardní výstup obsahuje šest sloupců:
- Protokol (protokol) – Typ protokolu použitého pro síťové připojení, jako je TCP, UDP atd.
- Recv-Q (Fronta příjmu) – Množství dat (v bajtech) ve frontě čekajících na soket.
- Send-Q (Fronta odesílání) – Množství dat (v bajtech) ve frontě odesílání pro soket.
- Adresy – Každá adresa obsahuje název hostitele následovaný „:“ a číslem portu
- Místní adresa – Adresa počítače, ve kterém je
netstat
příkaz je spuštěn. - Adresa v zahraničí – Adresa počítače, který je na druhém konci sítě.
- Místní adresa – Adresa počítače, ve kterém je
- Stát – Stav každého síťového připojení.
Abychom tomu lépe porozuměli, předpokládejme, že otevřeme webovou stránku www.lookip.net . Při spuštění příkazu:
netstat -a | grep lookip.net
Dostaneme následující výstup:
Jak je zcela jasné, extrahovali jsme všechna probíhající síťová připojení s konkrétní cizí adresou. V příkazu „|
‘ se používá k předání výstupu jednoho dílčího příkazu druhému, zatímco grep
je vyhledávací nástroj v Linuxu.
Poznámka:Tuto techniku nelze použít pro všechny druhy webů, protože ne každý web má cizí adresu odpovídající URL.
Abychom dále experimentovali s daty poskytovanými příkazem netstat, můžeme napsat příkazy zaměřené na protokoly, adresy nebo stavy:
Zobrazit všechna navázaná připojení
netstat -a | grep ESTABLISHED
Zobrazit všechna připojení TCP ve stavu naslouchání
netstat -a | grep tcp | grep LISTEN
Místo vytváření vlastních příkazů poskytuje Linux některé vestavěné možnosti pro načítání konkrétních informací.
Filtrování na základě protokolů
Pro specifické dotazy TCP -t
možnost se používá. Chcete-li zobrazit pouze připojení TCP:
netstat -at
Poznámka:Chcete-li použít více filtrů v jednom příkazu netstat, možnosti jsou připojeny.
Pro specifické dotazy UDP -u
volba se používá. Zobrazení všech soketů následujících UDP:
netstat -au
Možnost podle státu:
Zobrazení všech naslouchacích soketů:
netstat -l
Identifikujte programy pomocí síťových připojení pomocí Netstat
K načtení programů a jejich ID procesů používáme:
netstat -p
Pro programy specifické pro TCP:
netstat -pt
Výstup:
Jak si můžeme všimnout, Chrome přistupuje k internetu s ID procesu 16648. Tyto informace lze použít k ukončení nebo zastavení jakéhokoli programu přistupujícího k nějaké síti bez vědomí uživatele.
Poznámka:Může se stát, že některé informace o programu mohou být skryté, pokud aktuální uživatel není uživatel root. Chcete-li se stát uživatelem root v Linuxu, použijte příkaz sudo su
a zadání hesla může pomoci. Další informace naleznete zde.
Použití příkazu Netstat k výpisu IP adres každého síťového připojení
Pro načítání všech dat souvisejících s IP adresami a porty číselně používáme:
netstat -n
Můžeme zobrazit adresy číselně pro programy následující TCP pomocí:
netstat -ptn
Výstup:
Rozdíl je velmi zřetelný, protože vidíme IP adresy i čísla portů pro každé připojení.
Jaké jsou statistiky pro jednotlivé protokoly?
Pro přístup k souhrnným statistikám pro každý typ protokolu pomocí příkazu netstat spustíme:
netstat -s
Výstup:
Použití příkazu Netstat k zobrazení směrovací tabulky
Jakékoli zařízení v síti se musí rozhodnout, kam směrovat datové pakety. Směrovací tabulka obsahuje informace pro tato rozhodnutí. K získání obsahu směrovací tabulky v numerické podobě použijeme následující volbu příkazu:
netstat -rn
Výstup:
Směrovací tabulka jádra se skládá z následujících sloupců:
- Cíl – Adresa cílového počítače.
- Brána – Adresa mezilehlé brány.
- Genmask – Síťová maska, která se používala k určení dostupných hostitelů v síti.
- Příznaky – Určuje druh směrování.
- MSS – Výchozí maximální velikost segmentu
- Okno – Výchozí velikost okna
- irtt (Počáteční doba zpáteční cesty) – Celková doba k odeslání signálu a přijetí jeho potvrzení.
- Iface (Rozhraní) – Rozhraní, přes které budou pakety směrovány.
Poznámka:Sloupce s nulovou hodnotou znamenají, že je použita výchozí velikost.
Seznam aktivních síťových rozhraní
Pro přístup k jakýmkoli informacím z internetu musí existovat nějaké spojení mezi systémem a sítí. Tento bod propojení zajišťuje síťové rozhraní. Spustíme příkaz:
netstat -i
Výstup:
Tabulka rozhraní jádra obsahuje:
- Iface (rozhraní) – Druh rozhraní
- MTU – Maximální přenosová jednotka
- RX – Přijaté pakety
- TX – Odeslané pakety
- OK – Bezchybné pakety
- ERR – Pakety s nějakou chybou
- DRP – Zahozené pakety
- OVR – Pakety ztracené v důsledku přetečení
- Flg – Příznaky definující konfiguraci rozhraní
Příkaz netstat
nabízí širokou škálu znalostí, které znemožňují shrnout do jediného článku. Manuálové stránky v Linuxu můžeme vždy odkazovat pomocí:
man netstat
a dozvědět se více o netstat
možnosti můžeme požádat o pomoc v terminálu pomocí:
netstat -h
Odkazy:
- Linux – manuálová stránka netstat