netstat kommandot är ett netstat verktyg för nätverksadministration. Den visar information om Linux-nätverks-delsystemet, inklusive data om öppna nätverksanslutningar, routingtabeller och statistik om de installerade nätverksgränssnitten.

Det enklaste netstat-kommandot är bara att köra verktyget utan någon parameter:

 netstat 

Detta visar en lista över de nuvarande öppna anslutningarna på din maskin. Resultaten kan dock vara lite otrygga. Det är därför bättre att bryta ned anslutningarna efter typ. För att lista alla öppna TCP-anslutningar, använd:

 netstat -t 

Resultatet är en lista över de nuvarande anslutningarna som görs till din dator. I exemplet ovan kan du se att min testmaskin kör en SSH-server och att det finns etablerade SSH-anslutningar.

Lägg märke till raden som läser " Aktiv Internetanslutning (utan servrar) ". Den sista delen innebär att netstat inte innehåller en lista över servrar som körs på din maskin. med andra ord listade den inte de program som väntar på TCP-anslutningar men har för närvarande ingen etablerade.

För att få en lista över de aktiva TCP-anslutningarna och en lista över portar som lyssnar på TCP-anslutningar, lägg till -a flaggan:

 netstat -at 

-a står för ALL och lägger till uppsättningen lyssnarportar. Ser ner i listan kan du se att min Linux-dator också väntar på SSH-anslutningar via IPv6.

Samma information kan också genereras för UDP med:

 netstat -au 

Det motsatta av -a flaggan är -l flaggan som gör netstatlistan till lyssningsportarna men utelämnar de aktiva anslutningarna.

För att se en lista över processer som har öppna anslutningar eller väntar på anslutningar, använd -p flaggan:

 sudo netstat -atp 

Du kan använda -p med båda -t för TCP eller -u för UDP. Observera också att du måste köra kommandot med sudo . -p flaggan gör det enklare att tolka anslutningslistan. Från exemplet ovan kan du se att SSH-servern inte körs (sshd), men maskinen har en CUPS-server som körs tillsammans med DNSMasq-miniservern.

Om du behöver kontrollera att en viss tjänst körs kan du använda netstat i kombination med grep kommandot. Till exempel, på min testinstallation installerade jag en e-postserver (postfix). För att kontrollera att den körs kan jag använda följande:

 sudo netstat -ltp | grep smtp 

-ltp flaggan berättar netstat att endast lista TCP-servrarna (dvs. de processer som lyssnar på anslutningar) och grep kommandot filtrerar utmatningen för att bara visa linjerna med strängen "smtp". Som ett resultat kan vi se att processen " master "(som är namnet på Postfixs huvudprocess) lyssnar på IPv4 och IPv6 för inkommande SMTP-anslutningar.

netstat kan generera ganska mycket statistisk information om nätverksdelsystemet. Prova följande kommandon:

  • netstat -i att få användningsinformation om nätverksgränssnittet
  • netstat -ie att få utökad användningsinformation
  • netstat -s att få sammanfattande statistik för varje nätverksprotokoll (dvs. TCP, UDP, ICMP och så vidare)

För att få den nuvarande kärnan routing tabellen, använd:

 netstat -rn 

Läsningsrutingstabeller behöver ett utbildat öga, men i huvudsak vad exemplet ovan visar är att standardrutten (0.0.0.0) för alla andra paket än de för den lokala maskinen skickas till 192.168.1.254, vilket i min testinställning är standard gateway och mitt Internet modem / router.

Du kan köra kommandot utan -n vilket innebär att netstat kommer att försöka lösa adresserna.

Netstat man sidan har en fullständig lista över alla tillgängliga alternativ, du kan läsa den med:

 man netstat 

Om du har några problem med ovanstående exempel, var god att ställa en fråga i kommentarfälten nedan.