Beginner's Guide til Mastering av Netstat Command på Linux
netstat
kommandoen er et viktig verktøy for nettverksadministrasjon. Den viser informasjon om Linux-nettverksundersystemet, inkludert data om åpne nettverkstilkoblinger, rutingstabeller og statistikk om de installerte nettverksgrensesnittene.
Den enkleste netstat-kommandoen er bare å kjøre verktøyet uten noen parameter:
netstat
Dette viser en liste over de nåværende åpne tilkoblingene på maskinen din. Men resultatene kan være litt uhåndterlige. Det er derfor bedre å bryte ned forbindelsene etter type. For å liste alle åpne TCP-tilkoblinger, bruk:
netstat -t
Resultatet er en liste over de nåværende tilkoblingene som blir gjort på datamaskinen din. I eksemplet ovenfor kan du se at testmaskinen kjører en SSH-server og at det er etablert SSH-tilkoblinger.
Legg merke til linjen som leser " Aktiv Internett-tilkobling (uten servere) ". Den siste delen betyr at netstat ikke inneholdt en liste over servere som kjører på maskinen din. med andre ord, ble det ikke listet de programmene som venter på TCP-tilkoblinger, men har for tiden ingen etablert.
For å få en liste over aktive TCP-tilkoblinger og en liste over portene som lytter etter TCP-tilkoblinger, legg til -a
flagg:
netstat -at
-a
står for ALL og legger til settet med lytteporte. Ser ned listen, kan du se at min Linux-datamaskin også venter på SSH-tilkoblinger over IPv6.
Samme informasjon kan også genereres for UDP ved hjelp av:
netstat -au
Det motsatte av -a
flagg er -l
flagget som gjør netstat-listen lytteportene, men utelater de aktive tilkoblingene.
For å se en liste over prosessene som har åpne forbindelser eller venter på tilkoblinger, bruk -p
flagg:
sudo netstat -atp
Du kan bruke -p
med begge -t
for TCP eller -u
for UDP. Vær også oppmerksom på at du må kjøre kommandoen med sudo
. -p
flagget gjør det lettere å tolke forbindelseslisten. Fra eksemplet ovenfor kan du se at ikke bare SSH-serveren kjører (sshd), men maskinen har en CUPS-server som kjører sammen med DNSMasq-miniserveren.
Hvis du må sjekke at en bestemt tjeneste kjører, kan du bruke netstat i forbindelse med grep
kommandoen. For eksempel, i min testoppsett installerte jeg en e-postserver (postfix). For å kontrollere at det kjører, kan jeg bruke følgende:
sudo netstat -ltp | grep smtp
-ltp
flagget forteller netstat å bare liste TCP-serverne (dvs. de prosessene som lytter etter tilkoblinger) og grep
kommandoen filtrerer utgangen for å bare vise linjene med strengen "smtp." Som et resultat kan vi se at prosessen " master "(som er navnet på hovedprosessen av Postfix) lytter på IPv4 og IPv6 for innkommende SMTP-tilkoblinger.
netstat er i stand til å generere ganske mye statistisk informasjon om nettverkssystemet. Prøv følgende kommandoer:
netstat -i
å få brukerinformasjon om nettverksgrensesnittenenetstat -ie
å få utvidet brukinformasjonnetstat -s
å få oppsummeringsstatistikk for hver av nettverksprotokollene (dvs. TCP, UDP, ICMP og så videre)
For å få den nåværende kjernedistribusjonstabellen, bruk:
netstat -rn
Lese rutetabeller trenger et opplært øye, men i hovedsak hva eksemplet ovenfor viser er at standardruten (0.0.0.0) for alle andre pakker enn de for den lokale maskinen vil bli sendt til 192.168.1.254, som i min testoppsett er standard gateway og mitt Internett modem / ruteren.
Du kan kjøre kommando uten-et flagg som vil bety at netstat vil forsøke å løse adressene.
Netstat man siden har en fullstendig liste over alle tilgjengelige alternativer, du kan lese den ved å bruke:
mann netstat
Hvis du har problemer med eksemplene ovenfor, kan du gjerne stille et spørsmål i kommentarfeltene nedenfor.