GNU/Linux >> Znalost Linux >  >> Linux

Linux netstat Command Tutorial pro začátečníky (8 příkladů)

Pokud jste nováčkem v příkazovém řádku Linuxu a chcete se naučit síťové věci, existuje mnoho nástrojů příkazového řádku, o kterých byste měli vědět. Jedním z takových nástrojů je netstat . V tomto článku probereme tento příkaz pomocí několika snadno pochopitelných příkladů.

Ale než to uděláme, stojí za zmínku, že všechny tyto příklady byly testovány na počítači Ubuntu 16.04 LTS.

Linuxový příkaz netstat

Příkaz netstat vám umožňuje tisknout síťová připojení, směrovací tabulky, statistiky rozhraní, maskovaná připojení a členství ve vícesměrovém vysílání. Následuje jeho syntaxe:

netstat [MOŽNOSTI]

Zde je návod, jak to vysvětluje manuálová stránka:

 Netstat  vytiskne  informace o síťovém subsystému Linux. 
        Typ tištěných informací je řízen  prvním  argumentem , jak
        následuje:

   (žádné)
       Ve výchozím nastavení  netstat  zobrazuje  seznam otevřených soketů. Pokud
       neurčíte žádné rodiny adres, vytisknou se aktivní sokety všech nakonfigurovaných
       rodin adres.

   --route , -r
       Zobrazit směrovací tabulky jádra. Podrobnosti naleznete v popisu v trase(8)
      . netstat -r a route -e vytvářejí stejný výstup.

   --groups , -g
       Zobrazí informace o členství ve skupině multicast pro IPv4 a IPv6.

   -- interfaces, -i
       Zobrazí tabulku všech síťových rozhraní.

   --masquerade , -M
       Zobrazí seznam maskovaných připojení.

   - -statistics , -s
       Zobrazí souhrnné statistiky pro každý protokol.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz netstat funguje.

O1. Jak používat příkaz netstat?

Základní použití je poměrně jednoduché – stačí spustit příkaz netstat bez jakýchkoli voleb.

netstat

Například v mém případě byl vytvořen následující výstup:

Aktivní připojení k internetu (bez serverů)
Proto Recv-Q Send-Q Místní adresa            Zahraniční adresa          Stát      
tcp        0      0 192.168.1.7:151 ED mail SH. SH. 1511 ED grams https 1511 AB gram https     > TCP 0 0 192.168.1.7:57318 13.70.5.200:https Zavedeno
TCP 0 1 192.168.1.7:51238 52.114.32.7:https Syn_Sent
TCP 390 0 192.168.1.7:60392 DEL03S09 .1:HTTPS zavedeno
TCP 0 1 192.168.1.7:51240 52.114.32.7:7:7:7:7:7:7:7:7:7:Syn_Sent
TCP 0 0 192.168.1.7:50196 DEL03S10-IN-F10.1:HTTPS Time_wait
TCP 0 0 192.168.1.7:41996 MAA05S05-IN-F4.1E:HTTPS TIME_WAIT
TCP 0 0 192.168.1.7:56680 WA-in-F94.1E100.N:HTTPS Zavedené
TCP 0 0 192.168. 1.7:54578       del03s10-in-f14.1:https TIME_WAIT  
tcp        0      0 192.168.1.7:51310  >     del03s10-in-f2IT

Ve výchozím nastavení tedy příkaz zobrazí seznam všech otevřených soketů.

2. Jak přimět netstat, aby zobrazoval číselné adresy?

Ve výchozím nastavení se příkaz netstat pokouší určit symbolická jména hostitele, portu nebo uživatele. To může nástroj zpomalit. Pokud však vystačíte s číselnými hodnotami, můžete pomocí volby -n příkazového řádku nastavit, aby nástroj vydával číselné hodnoty.

netstat -n

Například v mém případě byl vytvořen následující výstup:

Aktivní připojení k internetu (bez serverů)
Proto Recv-Q Send-Q Místní adresa            Zahraniční adresa          Stát      
tcp         0   41.0 0 192.168.1.7.171  0 192.168.1.7:595 ED 2 168.1.7.19 ED TCP 0 0 192.168.1.7:57318 13.70.5.200:443 Zavedeno
TCP 0 0 192.168.1.7:51682 52.114.32.7:443 Time_wait
TCP 0 192.168.1.7:54884 172.217.161.14443 Časový
TCP 0 0 192.168.1.7:35112 172.217.161.5:443 Zavedeno
TCP 0 0 192.168.2.97:45662 148.251.237.53:21 Zavedeno
TCP 0 0 192.168.1.7:50892 149.154. 164.224:443 Zavedeno
TCP 0 0 192.168.1.7:58772 172.217.194.189:443 Time_wait
TCP 0 1 192.168.1.7:47728 144,76.158.93:443 Syn_sent
tcp 0 122.168.1.71122222268.1.711668.1.158.93:443. :47730       144.76.158.93:443       SYN_SENT   
tcp        0 0 192.168.1.7:59548 149.154.171.22:443 Zavedeno
TCP 0 0 192.168.1.7:35818 169.55.74.50:443 Zavedeno
TCP 0 0 192.168.1.7:50888 149.154.164,224:443 /> TCP 0 0 192.168.1.7:44156 152.195.11.6:443 Zavedeno
TCP 0 0 192.168.1.7:58478 52.229.174.94:443 Zavedeno
tcp 52 0 127.0.0.1:60342 127. 139 zavedeno
TCP 0 0 192.168.1.7:58820 172.217.161.3:443 Zavedeno
TCP 0 0 192.168.1.7:45588 52.175.17.224:443 Time_wait
TCP 0 0 192.168.1.7:50890 149.154.164.224:443 Zavedeno
TCP 0 0 192.168.1.7:58192 52,77.195.144:443 Zavedeno
TCP 0 0 192.168.1.7:5424 172.217.31.2:443 Zavedeno
tcp 0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0 0 127.0. .1.1:139           127.0.0.1:60342         STABLISHE D
TCP 0 0 192.168.1.7:34500 192.241.190.153:443 Zavedeno
TCP 0 0 192.168.1.7:54888 172.217.161.14:443 zavedeno

Můžete tedy vidět, že ve výstupu (ve sloupci Foreign Address) byly tentokrát vytvořeny pouze číselné hodnoty.

Q3. Jak zajistit, aby netstat zobrazoval pouze tcp připojení?

To můžete provést pomocí volby -t příkazového řádku.

netstat -t

Například v mém případě byl vytvořen následující výstup:

Aktivní připojení k internetu (bez serverů)
Proto Recv-Q Send-Q Místní adresa            Zahraniční adresa          Stát      
tcp         0      0 192.168.1.7:41.6 ED: LI92.168.1.7:442.6 ED TCP 0 0 192.168.1.7:59510 Mails11.Telegram.:https Zavedeno
TCP 0 0 192.168.1.7:57318 13.70.5.200:https Zavedeno
.1e:https ESTABLISHED
tcp 0 0 192.168.1.7:51984 del03s10-in-f2.1e:https ESTABLISHED
tcp 0 0 192.168.1.7:51786 52.114.32.7:https USAZEN
tcp 0 0 192.168.1.7:52294 XX-FBCDN-SHV-01-M:HTTPS zavedeno
TCP 0 0 192.168.1.7:54372 Del03S01-in-F2.1E:HTTPS zavedeno
TCP 0 1 192,168. 1.7:47788       hyperserver.semse:https SYN_SENT   
tcp        0      0 192.168.1.7:52298       xx-fbcdn-shv-01   CEST SHV-01- m 0 192.168.1.7:51840 149.154.164.224:https time_wait
tcp 0 0 192.168.1.7:35258 del03s10-in-f1.1e:https zavedeno
tcp 0 0 0. 192.168.2.97:45662 blog.gsmarena. com:ftp zavedeno
tcp 0 0 192.168.1.7:50728 Del03S10-in-F10.1:https time_wait
tcp 0 0 192.168.1.7:56468 DEL03S09-in-F3.1e:HTTPS TCP 0 0 192.168.1.7:50892 149.154.164.224:https zavedeno
tcp 0 0 192.168.1.7:45670 52.175.17.224:https zavedeno
F14.1:https time_wait
tcp 0 1 192.168.1.7:47790 Hyperserver.semse:https syn_sent
tcp 0 0 192.168.1.7:59548 Mails11.telegram.:htts založený
TCP 0 0 192.168.1.7:35818       32.4a.37a9.ip4.st:https ESTABLISHED
tcp        0      0 192.168.1.7:50888 STA49:16.1 1 D
TCP 0 0 192.168.1.7:33360 DEL03S10-IN-F13.1:HTTPS TIME_WAIT
TCP 0 0 192.168.1.7:52332 207.46.140,70:https zavedený
Tcp 0 0 192.168. 1.7:58478 52.229.174.94:https ESTABLISHED
tcp 0 0 192.168.1.7:54374 del03s01-in-f2.1e:https TIME_WAIT
tcp 0 0 192.168.1.7:50216 104.24.1.68:https TIME_WAIT
TCP 52 0 Localhost:60342 Ansh:NetBios-SSN zavedeno
TCP 0 0 192.168.1.7:50890 149.154.164.224:https zavedeno
TCP 0 0 192.168.1.7:55200 DEL03S10-IN-F14 .1:https time_wait
tcp 0 0 192.168.1.7:54224 Del03S01-in-F2.1e:https zavedeno
tcp 0 0 ansh:netbios-ssn localhost:60342 zavedené
tcp 0 0 0 0 0 0 0 192.168.1.7:55212       del03s10-in-f14.1:https TIME_WAIT  
tcp        0      1 192.168.1.7:47800   se    hyperserver MSE:https syn_sent
tcp 0 0 192.168.1.7:45668 52.175.17.224:https Zavedeno
TCP 0 0 192.168.1.7:58878 DEL03S10-IN:HTTPS Time_WAIT
TCP 0 2

4. Jak zajistit, aby netstat zobrazoval pouze připojení udp

To můžete provést pomocí volby příkazového řádku -u.

netstat -u

O5. Jak zajistit, aby netstat zobrazoval pouze naslouchající zásuvky?

To je možné pomocí volby -l příkazového řádku.

netstat -l

V mém případě byl například vytvořen následující výstup:

 Aktivní připojení k internetu (pouze servery) 
Proto recv-Q send-Q místní adresa zahraniční adresa stav
TCP 0 0 Ansh:doména *:*Poslouchejte
TCP 0 0 localhost:ipp:ipp *:*Poslouchejte
tcp 0 0 *:Microsoft-DS *:*Poslouchejte
tcp 0 0 *:netbios-ssn *:*poslouchejte
tcp6 0 0 ip6-localhost:ipp [::]:*Poslouchejte
tcp6 0 0 [::]:Microsoft-DS [::]:*Poslouchejte
tcp6 0 0 [::]:netbios-ssn [::]:*Poslouchejte ...
...
...

O6. Jak nastavit, aby netstat zobrazoval název a PID programů?

V případě, že chcete, aby netstat zobrazoval název ID procesů procesů, ke kterým každý soket patří, použijte volbu -p příkazového řádku.

netstat -p

Například:

Aktivní připojení k internetu (w /o servery)
Proto Recv-Q Send-Q Local Address Zahraniční adresa PID /Název programu
TCP 0 0 192.168.1.7:57318 13.70.5.200:https Nastaveno 3247 /Firefox
TCP 0 0 192.168.1.7:36732 13.76.170,95:https Zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:52050 149.154.164.224:https zavedeno 3247 /FIREFON 0 0 192.168.1.7:55974 DEL03S10-IN-F14.1:HTTPS zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:52074 149.154.164.224:https zavedeno 3247 /Firefox TCP 0 0 192.168. 1.7:60590 Mails11.TELEGRAM.:HTTPS zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:52254 149.154.164.224:https Zavedeno 3247 /Firefox
TCP 0 0 192.168.2.97:4562 Blog.gsmarena. com:ftp   ESTABLISHED 3160/filezilla  
tcp        0      0 192.168.1. 7:35818 32.4a.37a9.IP4.ST:https zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:52528 52.114.32.7:https Zavedeno 3247 /Firefox
DEL03S10-IN-F14.1:HTTPS zavedeno 3247 /Firefox
TCP 68 0 Localhost:60342 Ansh:NetBios-SSN zavedeno 2625 /GVFSD-SMB-Brow
TCP 0 0 192.168.1.7:44974 152.195. 11.6:HTTPS zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:36730 13.76.170.95:https Zavedeno 3247 /Firefox
TCP 0 0 Ansh:NetBios -SSN Localhost:60342 -
TCP 0 0 192.168.1.7:52732 DEL03S10-IN-F2.1E:HTTPS zavedeno 3247 /Firefox
TCP 0 0 192.168.1.7:60314 52.229.174.94:https zavedeno 3247 /Firefox TCP 0 0 192.168. 1.7:53072       207.46.140.70:https     ZALOŽENO 3247/firefox    
tcp        0      0 192.168.1.7:34500       do-11.lastpass.co:https ZŘÍZENO 3247/firefox

Viz poslední sloupec pro informace o PID/názvech programu.

O7. Jak vytvořit síťovou statistiku tisku netstat?

To lze provést pomocí volby příkazového řádku -s.

netstat -s

V tomto případě nástroj vytváří informace, jako je celkový počet přijatých, vyřazených, doručených paketů a mnoho dalšího. Následuje příklad výstupu, kdy byla použita volba příkazového řádku -s.

IP:
    Celkem přijato 592215 paketů
    41 s neplatnými adresami
    0 přeposláno
    0 příchozích paketů zahozeno
    580699 doručených příchozích paketů
    8 odesláno 5391 žádostí out
    Zahozeno 627 odchozích paketů
    482 zahozeno kvůli chybějící trase
    2 fragmenty se nezdařily
Icmp:
    2337 přijatých zpráv ICMP
    6 vstupních zpráv ICMP se nezdařilo.
    Histogram vstupu ICMP:
        cíl nedosažitelný:2337
    3917 odeslaných zpráv ICMP
    0 zpráv ICMP se nezdařilo
    Histogram výstupu ICMP:
        3 cíl nedosažitelný 7 />IcmpMsg:
        InType3:2337
        OutType3:3917
Tcp:
    10943 otevření aktivního připojení
   selhalo  127 pasivních připojení 3 otevření 3
/>    Bylo přijato 467 obnovení připojení
    34 navázáno připojení
    Přijato 443643 segmentů
    Odesláno 414589 segmentů
    6929 segmentů znovu přeneseno
    Bylo přijato 428 špatných segmentů.
    Odesláno 11713 resetů

...
...
...

O8. Jak docílit toho, aby netstat zobrazoval směrovací tabulku jádra?

To lze provést pomocí volby příkazového řádku -r.

netstat -r

Následuje výstup vytvořený v mém případě:

 Kernel IP směrovací tabulka 
cílová brána Genmask Flags MSS Window irtt iface
výchozí 192.168.1.1 0.0.0.0 UG 0 0 0 wlx18a6f713679b
link-local * 255.255.0.0 U 0 0 0 wlx18a6f713679b
192.168.1.0     *               255.255.255.0    U         0 0            0 wlx169a6 f 0 wlx18a6

Všimněte si, že netstat -r a trasa -e produkovat stejný výstup.

Závěr

Jak jste již pochopili, příkaz netstat je velmi důležitým nástrojem. Poskytuje spoustu funkcí – právě jsme zde poškrábali povrch. Jakmile dokončíte procvičování toho, co jsme probrali v tomto tutoriálu, přejděte na manuálovou stránku nástroje, kde najdete další informace.


Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  3. Linux hostname Command Tutorial pro začátečníky (5 příkladů)

  1. Výuka příkazů Linux pro začátečníky (5 příkladů)

  2. Linux df Command Tutorial pro začátečníky (8 příkladů)

  3. Linux du Command Tutorial pro začátečníky (10 příkladů)

  1. Výukový program Linux echo Command pro začátečníky (5 příkladů)

  2. Linux env Command Tutorial pro začátečníky (5 příkladů)

  3. Návod k příkazu velikosti Linuxu pro začátečníky (6 příkladů)