Jak používat netstat v GNU / Linuxu

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Netstat je velmi výkonný nástroj, který vypíše všechna připojení TCP a UDP a také připojení unixových soketů, které momentálně naslouchají připojení i aktuálně připojené. Zatímco mnoho domácích uživatelů se nemusí nutně obávat, online hráči nebo kdokoli, kdo má v úmyslu v budoucnu hostovat jakýkoli druh serveru, se určitě v určitém okamžiku bude muset vypořádat s porty.

Netstat je užitečný také pro zabezpečení a soukromí, například pro zjištění, které programy „mluví“ k internetu.

Použití netstatu může být velmi jednoduchý proces, nebo může být velmi složité a těžké, v závislosti na použití; takže dnes se podíváme na některá běžnější použití Netstatu.

Jak jsem slíbil (v mém článku ' Jak najdu informace o síti v systému Linux ? ') Představím vám příkaz netstat. Tento příkaz je velmi užitečným nástrojem pro zjišťování síťových informací, jako jsou směrovací tabulky, síťová připojení, statistika rozhraní, maškarní připojení a členství vícesměrového vysílání. Používání však není tak jednoduché jako u některých dalších nástrojů „objevování“ (například ifconfig). S netstatem opravdu potřebujete vědět, co hledáte a jak to najít. Tento článek vám pomůže to pochopit.

Instalace?

Naštěstí by vaše distribuce měla přijít s netstat předinstalovaný příkaz. Chcete-li to zkontrolovat, otevřete okno terminálu (tam budete stejně používat netstat) a zadejte příkaz který netstat . Tento příkaz by měl vrátit něco jako / bin / netstat . To vám řekne, že je nástroj nainstalován a kde je spustitelný soubor.

Základy Netstatu

Základní příkaz netstat vypadá takto:

MOŽNOSTI ARGUMENTU netstat

Kde ARGUMENT je typ rodiny adres, o kterých chcete získat informace, a OPTIONS je volitelná možnost, která určuje typ informací, které dostanete.

Protože netstat nabízí tak širokou škálu možností, bylo by nejlepší, kdybych nejprve uvedl některé z užitečnějších možností.

  • na : Zobrazuje stav všech soketů a položek tabulky směrování.
  • C : Zobrazení informací nepřetržitě.
  • d : Zobrazit stav všech rozhraní, která používají DHCP.
  • je : Zobrazit rozšířené informace.
  • G : Zobrazit informace o členství ve skupině vícesměrového vysílání pro IPv4 i IPv6.
  • i : Zobrazí tabulku všech síťových inferfaces.
  • l : Omezit statistiku na definované rozhraní.
  • M : Zobrazit vícesměrové směrovací tabulky.
  • n : Zobrazuje síťové adresy jako čísla místo výchozích symbolů.
  • str : Zobrazit tabulky rozlišení adres.
  • P : Omezit statistiku na definovaný protokol.
  • r : Zobrazit všechny směrovací tabulky.
  • t : Zobrazit připojení TCP.
  • u : Zobrazit připojení UDP.
  • proti : Pro výstup použijte podrobný režim.

Pojďme se tedy podívat a uvidíme, jak je lze použít společně.

netstat

Tento příkaz sám o sobě (bez voleb) vytiskne obecné statistiky hostitele, ke kterému jste aktuálně připojeni.

netstat -an

Tento příkaz zobrazí všechna připojení k hostiteli, včetně zdrojové a cílové adresy a portů, a zobrazí je jako čísla.

netstat -rn

Tento příkaz zobrazí směrovací tabulku hostitele v numerické podobě.

netstat -r

Tento příkaz zobrazí směrovací tabulku vašeho hostitele.

netstat -natp

Tento příkaz zobrazí aktivní připojení TCP v numerické podobě.

netstat -t - listening

To vám ukáže všechny porty tcp, na kterých hostujete, poslouchající.

netstat --statistika

Tento příkaz zobrazí různé statistiky rozhraní vašeho hostitele. Všimněte si, že tento příkaz zobrazí mnoho statistik.

Jak vidíte, tento příkaz zobrazí docela dost informací. Kromě toho možná budete muset tento příkaz poslat přes příkaz less, abyste jej snáze viděli. Tento plný příkaz by vypadal jako netstat --statistika | méně. Jeho použití by vám umožnilo pomocí kláves se šipkami posouvat nahoru a dolů přes výstup.

Tipy pro použití pro Netstat

Jedním z nejzákladnějších a nejběžnějších způsobů použití netstatu je kontrola, které porty poslouchají

  • netstat -l

Což dává něco takového na mém čerstvě nainstalovaném systému Antergos

netstat -l

Nebo, pokud se chcete zaměřit na hledání trochu více, můžete přidat další možnost třídění specificky pro různé typy připojení

  • netstat -lt # pro TCP
  • netstat -lu # pro UDP
  • netstat -lx # pro Unix

Nebo můžete jít na úplný opačný konec spektra a vypsat všechna připojení

  • netstat -a

Pokud dáváte přednost, další možností, na kterou byste měli mít na paměti, je použití možnosti „n“. Pokud používáte například netstat -n nebo netstat -ltn, nebudou se již všechna hostitelská jména pokoušet rozlišovat a zobrazí se pouze adresy IP, jako v příkladu níže.

netstat-ltn

Jak vidíte, název localhost byl po použití možnosti „n“ vyřešen na svou číselnou hodnotu

Dalším způsobem použití netstatu je netstat -ie, „i“ pro rozhraní a „e“ pro „rozšířené“, což nám pomůže poskytnout lidsky čitelnější výstup.

netstat -ie # Zobrazí nám seznam síťových rozhraní a informace o každém zařízení.

netstat ie

Pokročilé tipy pro Netstat

Co chceme udělat, je říct netstatu, aby nám poskytl výstup pro specifické aplikace, které poslouchají spojení tcp. Za tímto účelem vydáme příkaz:

  • netstat - tcp - listening --programy

Výstup pro tento příkaz by vypadal asi takto:

Proto Recv-Q Send-Q Místní adresa Zahraniční adresa Stat PID / Program
tcp 0 0 *: ssh *: * LISTEN 25469 / sshd
tcp 0 0 *: httpd *: * LISTEN 26754 / httpd
tcp 0 0 localhost: ipp *: * LISTEN -

Nyní můžete skutečně vidět některé užitečné informace. Ve výše uvedeném výstupu můžete vidět, že sshd i httpd poslouchají příchozí připojení. Výše uvedené je pouze úryvek toho, jak může výstup vypadat. Co je velmi užitečného pro tento příkaz, je to, že vám ukáže, zda existuje příkaz nebo místní adresa naslouchající pro příchozí připojení, která by neměla být poslouchána. Pokud najdete aplikaci, která by neměla poslouchat, zabijte ji, aby byla bezpečná.

Trasa

Netstat je schopen rychle vytisknout směrovací tabulku jádra vašich strojů pomocí příkazu:

netstat -r

Výstup tohoto příkazu bude vypadat takto:

Směrovací tabulka jádra IP
Cílová brána Genmask příznaky Okno MSS irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 eth0
výchozí 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Statistika

To je jeden z handier nástrojů netstat. Díky tomu můžete přesně zjistit statiku každého protokolu. Základní struktura příkazů je:

netstat --statistika

což vám poskytne mnohem více informací, než chcete. Řekněme, že chcete vidět pouze statistiky protokolu TCP. Za tímto účelem můžete zadat příkaz:

netstat -t --statistika

Výstup výše uvedeného příkazu bude obsahovat informace jako:

Tcp:
4343 aktivních spojení
8 pasivních spojovacích otvorů
5 neúspěšných pokusů o připojení
Bylo přijato 178 resetování připojení
Bylo vytvořeno 6 spojení
Bylo přijato 59075 segmentů
60033 segmentů vyslat
Retransmitováno 76 segmentů
Bylo přijato 0 chybných segmentů.
Bylo odesláno 303 resetů

Nebo můžete získat informace o UDP také příkazem:

netstat -u --statistika

Což by vám poskytlo podobný výstup pro protokol UDP.

Buďte kreativní

Co kdybyste chtěli vidět všechny jedinečné IP adresy připojené k serveru? Můžete to udělat pomocí netstatu (a pomocí několika dalších nástrojů), jako je tato:

netstat -nat | awk '{print $ 5}' | cut -d: -f1 | sed -e '/ ^ $ / d | uniq

Výstup výše uvedeného příkazu bude záviset na tom, kolik provozu váš stroj / server získává. Bude však zahrnovat všechny jedinečné adresy IP, které se pokouší připojit k serveru.

A co kontrola, zda je váš server pod útokem DOS? Můžete to udělat s netstatem, jako je tento:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | cut -d: -f1 | řadit | uniq -c | řadit -n

Výše uvedený příkaz vypíše IP adresy vyžadující nejvyšší množství připojení k vašemu serveru. Pokud vidíte číslo, které je mnohem vyšší, než by mělo být, pravděpodobně jste pod útokem Denial of Service.

Závěrečné myšlenky

Netstat je jedním z těch nástrojů, o kterých si nikdy nebudete myslet, že je budete potřebovat, až najednou. a je vždy dobré vědět, jak ji použít, pokud je potřeba, která se objevuje, alespoň na některé základní úrovni. Další informace o tom, jak používat příkaz netstat a jeho možnosti, najdete na manuálových stránkách zadáním muž netstat .

Teď ty: Jaký je váš upřednostňovaný nástroj pro kontrolu síťových informací a proč? Dejte nám vědět v komentářích!

Související články