netstat kommandoen er et vigtigt redskab til netværksadministration. Den viser oplysninger om Linux-netværksundersystemet, herunder data om åbne netværksforbindelser, rutetabeller og statistikker om de installerede netværksgrænseflader.

Den enkleste netstat-kommando er bare at køre værktøjet uden nogen parameter:

 netstat 

Dette viser en liste over de aktuelle åbne forbindelser på din maskine. Resultaterne kan dog være lidt uhåndterlige. Det er derfor bedre at nedbryde forbindelserne efter type. For at liste alle åbne TCP-forbindelser, skal du bruge:

 netstat -t 

Resultatet er en liste over de aktuelle forbindelser, der bliver lavet til din computer. I eksemplet ovenfor kan du se, at min testmaskine kører en SSH-server, og at der er etablerede SSH-forbindelser.

Bemærk linjen som læser " Aktiv internetforbindelse (uden servere) ". Den sidste del betyder, at netstat ikke indeholdt en liste over servere, der kører på din maskine; med andre ord opregnede den ikke de programmer, der venter på TCP-forbindelser, men der er i øjeblikket ingen etableret.

For at få en liste over de aktive TCP-forbindelser og en liste over de porte, der lytter til TCP-forbindelser, skal du tilføje -a flag:

 netstat -at 

-a står for ALL og tilføjer sæt lytteporte. Ser du ned på listen, kan du se, at min Linux-computer også venter på SSH-forbindelser over IPv6.

De samme oplysninger kan også genereres for UDP ved hjælp af:

 netstat -au 

Modsat af -a flag er -l flag, der gør netstat-listen lytteporte, men udelader de aktive forbindelser.

For at se en liste over de processer, der har åbne forbindelser eller venter på forbindelser, skal du bruge -p flag:

 sudo netstat -atp 

Du kan bruge -p med begge -t til TCP eller -u til UDP. Bemærk også, at du skal køre kommandoen med sudo . -p flag gør fortolkningen af ​​forbindelseslisten meget lettere. Fra ovenstående eksempel kan du se, at SSH-serveren ikke kører (sshd), men maskinen har en CUPS-server, der kører sammen med DNSMasq-miniserveren.

Hvis du skal kontrollere, at en bestemt tjeneste kører, kan du bruge netstat i forbindelse med grep kommandoen. For eksempel har jeg i min testopsætning installeret en e-mail-server (postfix). For at kontrollere, at det kører, kan jeg bruge følgende:

 sudo netstat -ltp | grep smtp 

-ltp flagmet fortæller netstat at kun liste TCP-serverne (dvs. de processer, der lytter til forbindelser), og grep kommandoen filtrerer udgangen for kun at vise linjerne med strengen "smtp." Som et resultat kan vi se, at processen " master "(som er navnet på den vigtigste proces af Postfix) lytter på IPv4 og IPv6 til indgående SMTP-forbindelser.

netstat er i stand til at generere en hel del statistiske oplysninger om netværksdelsystemet. Prøv følgende kommandoer:

  • netstat -i at få brugsoplysninger om netværksgrænsefladerne
  • netstat -ie at få udvidet brugsinformation
  • netstat -s at få sammenfattende statistikker for hver af netværksprotokollerne (dvs. TCP, UDP, ICMP osv.)

For at få den nuværende kerne routing tabel, brug:

 netstat -rn 

Læseredningstabeller behøver et trænet øje, men i det væsentlige, hvad eksemplet ovenfor viser, er, at standardruten (0.0.0.0) for alle andre pakker end de for den lokale maskine, sendes til 192.168.1.254, som i min testopsætning er standard gateway og mit internet modem / router.

Du kan køre kommandoen uden et -n hvilket vil betyde, at netstat vil forsøge at løse adresserne.

Netstat man siden har en komplet liste over alle tilgængelige muligheder, du kan læse den ved hjælp af:

 mand netstat 

Hvis du har problemer med eksemplerne ovenfor, er du velkommen til at stille et spørgsmål i kommentarerne nedenfor.