Netstat-verktøyet (nettverksstatistikk) i Linux gir informasjon relatert til nettverkstilkoblinger. Du kan bruke forskjellige netstat-kommandoer for å vise aktive nettverkstilkoblinger, grensesnittdata, rutetabeller og så videre. Dette er viktig informasjon for nettverksadministratorer og infosec-fagpersoner. Derfor har vi utarbeidet denne guiden med et bredt utvalg av nyttige netstat-eksempler. Etter å ha fullført denne veiledningen, vil du kunne inspisere all nettverksrelatert informasjon for Linux-maskinen din. Vi oppfordrer også leserne til å prøve disse eksemplene på sin egen maskin for å få en mer praktisk opplevelse.
Netstat Command Eksempler for nettverksadministratorer
Informasjonen fra netstat gjør det enkelt å finne problemer i nettverkstilkoblinger. Dette er grunnen til at netstat er verktøyet for feilsøking av nettverkstilkoblinger for mange sysadminer. Fortsett å lese for å finne ut hvordan du bruker netstat-kommandoen best.
1. Vis alle aktive stikkontakter
Stikkontakter er strukturer som fungerer som sluttpunkter når du sender eller mottar nettverksforespørsler. Når det brukes uten argumenter, viser netstat en liste over alle de åpne kontaktene i maskinen din.
$ netstat
Som standard viser denne kommandoen de aktive kontaktene for alle nettverksfamilier. Som du kanskje legger merke til, skriver den ut mye tilleggsinformasjon under etiketten “Unix Domain Sockets“. Dette er endepunktene for datakommunikasjon for de nåværende prosessene på maskinen din.
2. Vis alle stikkontakter for lytting og ikke-lytting
Du kan bruke -en mulighet for netstat for å skrive ut en liste over alle stikkontakter som lytter og ikke lytter. Kjør følgende kommando og sjekk utdataene for å se hvordan denne kommandoen fungerer.
$ netstat -a $ netstat --all
De -alle alternativet fungerer det samme som -en. Utgangen skal vise alle kontaktene, både aktive og inaktive. Radene representerer stikkontaktene, og kolonnen dikterer verdiene deres. Brukere kan se stikkprotokollen, sendte / mottatte data, adresser og tilhørende tilstander.
3. Vis TCP-tilkoblinger
TCP eller Transmission Control Protocol er den mest brukte internettprotokollen. Du kan bruke følgende netstat-kommando til å bare vise de aktive TCP-tilkoblingene.
$ netstat -t $ netstat --tcp
Du kan også bruke langformen -tcp i stedet for -t. Bruk kommandoen nedenfor for å vise en liste over alle lyttende og etablerte TCP-nettverkstilkoblinger.
$ netstat -at $ netstat -all --tcp
4. Vis UDP-tilkoblinger
UDP eller User Datagram Protocol er en annen viktig nettverksprotokoll som brukes av systemene våre. Du kan bruke netstat-verktøyet til å vise en liste over etablerte og lytteuttak for UDP-tilkoblinger.
$ netstat -u $ netstat --udp
Dette eksemplet skriver ut alle etablerte UDP-tilkoblinger. Hvis du vil se alle etablerte samt lyttetilkoblinger, bruk kommandoen nedenfor i stedet.
$ netstat -au $ netstat --all --udp
5. Vis alle lyttende TCP-tilkoblinger
Du kan vise en liste over alle lyttende TCP-tilkoblinger ved hjelp av -l og -t flagget til netstat-programmet. Sjekk ut kommandoen nedenfor for å se hvordan det skjer.
$ netstat -lt
Den viser alle TCP-tilkoblinger som lytter aktivt etter innkommende nettverksforespørsler. Utgangen skal inneholde informasjon om både TCP- og TCP6-protokoller. Du kan også bruke langformssyntaks når du bruker denne kommandoen i Linux-skallskript.
$ netstat --lytt --tcp
6. Vis alle UDP-tilkoblinger
Brukere kan ta samme tilnærming som vist ovenfor for å vise UDP-tilkoblinger. Åpne din favoritt Linux terminalemulator og kjør kommandoen nedenfor for å gjøre det.
$ netstat -lu
Som med den tidligere kommandoen, vil den vise forbindelser for UDP og UDP6-protokollene. Eksemplet nedenfor illustrerer langformen.
$ netstat --listen --udp
7. Vis alle UDP-Lite-tilkoblinger
UDP-Lite er en tilkoblingsfri protokoll basert på UDP-protokollen. Det tillater systemer å motta en potensielt skadet nettverkspakke. Du kan vise lytteforbindelsene for denne protokollen ved å bruke følgende enkle kommando.
$ netstat -lu
De -U valg av netstat lar administratorer spesifisere udplite-protokollen. Du kan også bruke -udplite som langform for dette alternativet.
$ netstat - pluss
8. Vis Listing Unix-tilkoblinger
Vi har allerede diskutert hvordan Linux-systemer bruker Unix-domenekontakten for kommunikasjon mellom prosesser (IPC). Du kan skrive ut en liste over alle lyttende Unix-tilkoblinger for maskinen din ved hjelp av følgende netstat-kommando.
$ netstat -lx
De -x alternativet spesifiserer Unix domenekontakter. Du kan bruke det forkortede skjemaet -unix i stedet for -x. Dette er nyttig for å dokumentere skallskript.
$ netstat --unix
9. Vis protokollstatistikk
Netstat-verktøyet tilbyr utmerket støtte for protokollstatistikk. Brukere kan se et bredt spekter av informasjon fra statistikkdataene, for eksempel antall tilkoblinger, pakker, dårlige segmenter osv. Sjekk resultatet for neste kommando for å se hvordan dette fungerer.
$ netstat -s $ netstat --statistikk
Som standard viser denne kommandoen informasjon om TCP-, UDP-, ICMP- og IP-protokollene. Nettverksadministratorer kan bruke denne utgangen for å bestemme potensielle problemer i nettverkstilkoblinger.
10. Vis TCP-protokollstatistikk
Brukere kan også bare se tilkoblingsstatistikk for en enkelt protokoll. Følgende eksempel viser statistikkdataene for bare TCP-protokollen.
$ netstat -st
Vi kan enkelt kombinere -s alternativet med en protokollvelger og finn ut statistikkdata om det. Eksemplet nedenfor skriver ut samme utgang, men bruker den forkortede syntaksen.
$ netstat --statistikk --tcp
11. Vis UDP-protokollstatistikk
Vi kan se statistikkdataene for UDP-protokollen på samme måte som vi så på TCP-statistikk. Bytt ut -t eller --tcp alternativ med noen av -u eller -udp. Ta en titt på de to neste eksemplene for å se hvordan dette fungerer.
$ netstat -su $ netstat --statistikk --udp
Merk at du også finner udplite-statistikken fra disse kommandoene. Men hvis du spesifiserer udplite ved hjelp av -U eller -udplite alternativ, vil det ikke være UDP-data på den resulterende utdata.
12. Vis programnavn
Du kan bruke netstat-verktøyet til å vise hvilke programmer som har startet nettverkstilkoblingene. Dette kan være ekstremt nyttig når du feilsøker nettverksproblemer. Sjekk ut kommandoen nedenfor for å se hvordan den fungerer.
$ netstat -pt
Utgangen skal inneholde etablerte TCP-tilkoblinger og programmene som er ansvarlige for disse tilkoblingene. Du kan også bruke den forkortede skjemaet -program i stedet for -s, som illustrert i eksemplet nedenfor.
$ netstat --program --tcp
1. 3. Vis nettverksinformasjon i kontinuerlig modus
De -c eller -kontinuerlige valg av netstat lar den vise spesifisert informasjon kontinuerlig. Sjekk ut kommandoene nedenfor for å se hvordan dette fungerer.
$ netstat -tc $ netstat --tcp - kontinuerlig
Standard oppdateringsintervall er 1 sekund. Imidlertid kan brukere overstyre det ved å oppgi et ekstra argument, som vist i eksemplene nedenfor.
$ netstat -tc 5 $ netstat --tcp - kontinuerlig 3
I motsetning til mange Linux-terminalkommandoer, er ikke intervallvelgeren foran et likhetstegn for den forkortede syntaksen.
14. Vis rutetabellene
Nettverksverktøyet kan brukes til å vise rutetabellene definert av Linux-kjernen. Utgangen er lik den som leveres av Linux IP-kommandoen.
$ netstat -r
Denne kommandoens utgang viser informasjon som destinasjonsadresse, gateway, nettverksmaske og nettverksgrensesnittnavn. Du kan bruke den forkortede syntaksen -rute hvis du vil dokumentere bruken av denne kommandoen i skallskriptene dine.
$ netstat - rute
15. Vis grensesnittstatistikk
Netstat kan brukes til å skrive ut grensesnittstatistikken for ditt Linux-system. Følgende kommando skriver ut tilgjengelige nettverksgrensesnitt og gir informasjon om sendte og mottatte pakker, feilrate og MTU.
$ netstat -i $ netstat - grensesnitt
Du kan bruke et av alternativene for å vise informasjon om nettverksgrensesnittet.
16. Vis grensesnittstatistikk i sanntid
Hvis du vil se grensesnittstatistikk i sanntid, kombinerer du -c eller -kontinuerlige alternativ med grensesnittalternativet. Følgende eksempler oppdaterer nettverksgrensesnittstatistikken hvert 3. sekund.
$ netstat -ic 3 $ netstat - grensesnitt - kontinuerlig 3
Du bør legge merke til endringer under de sendte (TX) og mottatte (RX) -feltene. Bytt ut tidsintervallet med et tall som passer ditt behov. Merk at intervallet er i sekunder, ikke minutter.
17. Vis kjernetabell for grensesnitt
Følgende netstat-kommando viser grensesnitttabellen definert av Linux-kjernen. Denne kommandoen ligner på utdataene som tilbys av Linux ifconfig-kommandoen.
$ netstat -ie
De -e eller -forlenge alternativet tvinger netstat til å skrive ut denne grensesnitttabellen. Følgende eksempel illustrerer den samme kommandoen ved hjelp av den forkortede syntaksen.
$ netstat - grensesnitt - utvide
18. Vis IP-informasjon
Du kan vise IPv4 / IPv6-gruppemedlemskap veldig enkelt ved å bruke netstat-verktøyet. Ta en titt på følgende enkle eksempel for å se hvordan dette fungerer.
$ netstat -g $ netstat - grupper
Så -g eller -grupper alternativet for netstat kan vise multicast-gruppemedlemskap.
19. Vis lytteprogrammer
Du kan bruke netstat-programmet til å se hvilke programmer som aktivt lytter etter innkommende nettverksforespørsler. Dette er veldig nyttig siden du kan bestemme hvilke programmer som er ansvarlige for visse nettverksaktiviteter fra denne utgangen.
$ netstat -ap | grep "http" $ netstat --all --program | grep "http"
Vi skriver ganske enkelt ut alle lytteprogrammene og filtrerer deretter ut de nødvendige oppføringene ved hjelp av grep. Ta en titt på vår tidligere guide om Linux grep-kommandoer for å se hvordan GREP filtrerer data fra rør.
20. Vis RAW-nettverksstatistikk
Følgende netstat-eksempel viser deg hvordan du bruker den til å vise rå nettverksstatistikk. Kopier kommandoen og kjør den i terminalemulatoren for å se utdataene for din personlige maskin.
$ netstat -sw $ netstat --statistikk --raw
Utgangen skal inneholde statistikkdata for rå nettverkstilkoblinger, inkludert for IP, ICMP og udplite.
21. Vis informasjon for IPv4-ruter
Du kan bruke ruteunderkommandoen til netstat for å vise IPv4-ruter som er definert av kjernen. Ta en titt på følgende eksempel for å lære hvordan du gjør dette.
$ netstat -r -4 $ netstat --route --inet
Så, -inet er forkortet for dette alternativet. Du kan også kombinere alternativene hvis du bruker det korte skjemaet.
$ netstat -r4
22. Vis informasjon for IPv6-ruter
Vi kan skrive ut IPv6-rutingsinformasjon på samme måte som kommandoen ovenfor. Bruke -6 eller -inet6 alternativet sammen med -rute eller -r flagg. Følgende eksempel illustrerer dette for leserne.
$ netstat -r -6 $ netstat --route --inet6
Merk at utgangsfeltene varierer mellom IPv4 og IPv6. Så sørg for å lese kolonneetikettene. Eksemplet nedenfor kombinerer kortformene til IPv6-adressefamilien.
$ netstat -r6
23. Vis maskerade-tilkoblinger
Masquerade-tilkoblinger tillater ett eller flere systemer, uten spesifiserte IP-er, å koble seg til internett ved hjelp av adressene tildelt av Linux-serveren. Du kan se en liste over maskerade nettverkstilkoblinger og deres statistikk ved hjelp av følgende netstat-kommando i Linux.
$ netstat -M $ netstat --masquerade
Når du kjører en av kommandoene ovenfor, henter netstat den nødvendige informasjonen ved å lese Linux-filsystemets / proc / net / ip_masquerade fil.
24. Vis nettverkstimere
Du kan bestemme om det er noen tidtakere for nettverkstilkoblingene dine ved hjelp av -o mulighet for netstat. Dette kan være nyttig når du prøver å feilsøke utgående nettverksforespørsler. Sjekk ut følgende kommandoer for å se hvordan dette fungerer.
$ netstat -t -o | mer $ netstat --tcp --timers | mer
Utdataene skal inneholde om det er noen tidtakere til stede og om noen, deres type. To skråstreker skiller tre-timer-feltene. Det første feltet er nedtellingstimeren, og det andre er for sporing av antall forsøk. Til slutt sporer det siste feltet antall keepalive sonder som er sendt av TCP-stakken.
25. Vis IP-adresser i stedet for FQDN
Som standard prøver netstat å løse DNS når du skriver ut nettverksstatistikken. Du kan imidlertid enkelt deaktivere den og skrive ut de tilknyttede IP-adressene i stedet for FQDN (fullt kvalifisert domenenavn). Dette er nyttig for nettverksovervåking og feilsøking.
$ netstat --numreic-hosts --tcp --all
De -numeriske verter alternativet signaliserer netstat om å hoppe over DNS-oppløsninger og skrive ut de numeriske IP-adressene i stedet. Sjekk ut vår guide om Ubuntu DNS-servere for å lære mer om domenenavnsystemet.
26. Vis numeriske portnumre
Du kan utelate den symbolske portinformasjonen fra netstat-utgangene dine ved å bruke -numeriske porter alternativ. Dette alternativet tvinger netstat til å skrive ut de numeriske portnumrene i stedet. Ta en titt på eksemplet nedenfor for å se hvordan det fungerer.
$ netstat --numeric-porter --tcp --all
Sammenlign utgangen med forrige eksempel for å finne forskjellene. Du vil finne at denne utgangen inneholder nøyaktige portnummerrepresentasjoner. Dette er tallet som følger etter vertsdelen av utdataene dine, foran en kolon.
27. Vis bruker-ID for nettverkstilkoblinger
Følgende eksempel viser hvordan du viser bruker-ID-en for brukeren som eier nettverkstilkoblingene. Dette kan gjøres ved å bruke to alternativer for netstat-kommandoen.
$ netstat --numeric-brukere --tcp -e
De -e alternativet skriver ut brukerens navn, og -numeriske brukere konverterer det til identifikasjonsnummer. Dette er UID (User Identification) som er angitt for hver bruker av Linux-systemet ditt.
28. Vis numeriske ekvivalenter for verter, porter og brukere
Du kan kombinere de ovennevnte tre netstat-kommandoene ved å bruke ett enkelt alternativ. Dette vil tvinge netstat til å skrive ut alle verter, porter og brukerinformasjon ved hjelp av deres numeriske ekvivalent. Ta en titt på følgende eksempler for å se hva vi mener.
$ netstat -nt $ netstat --numeric --tcp
Du kan bruke en av -numerisk eller -n for å gjøre dette. Hvis du ser på utdataene, bør du se IP-adressene, portnummeret og UID-informasjonen i numerisk form.
29. Vis tilleggsinformasjon
De -e eller -forlenge alternativene til netstat-verktøyet lar brukerne vise ekstra informasjon for kommandoene sine. Disse kan føre til oppdagelsen av skjulte feil. Ta en titt på eksemplet nedenfor for å se hvordan det fungerer.
$ netstat -tpe
Denne kommandoen kombinerer -t, -s, og -e muligheter for å skrive ut de etablerte TCP-tilkoblingene, programmene som eier dem, og litt ekstra informasjon. Denne ekstra informasjonen inkluderer bruker- og inodeinformasjon. Bruke -e alternativ to ganger for å få mer informasjon.
$ netstat --tcp --program --extend --extend
30. Vis Kernel Routing Cache
Rutebufferen inneholder rutingoppføringene som ble brukt sist. Siden dette er bufrede data, kan du få tilgang til informasjonen veldig raskt. Du kan bruke følgende kommando til å skrive ut rutebufferen ved hjelp av netstat.
$ netstat -rC
Som standard henter netstat ruteinformasjonen fra FTB. Men siden systemer vanligvis bruker hurtigbufrede data før de ser på rutetabellen, kan det være nyttig å vite hvilket innhold som er lagret der. Det er ingen langform for denne parameteren.
31. Vis informasjon for flere protokoller
Netstat lar brukerne skrive ut nettverksinformasjon for et sett med protokoller ved hjelp av -EN eller -protokoll alternativ. Følgende eksempler illustrerer bruken av disse alternativene.
$ netstat -A inet, inet6 $ netstat --protocol = inet, inet6
Legg merke til forskjellen mellom bruken av -protokoll og -EN. De støttede adressefamiliene for disse alternativene inkluderer inet, inet6, unix, ddp, bluetooth, etc.
32. Vis SCTP-informasjon
SCTP eller Stream Control Transmission Protocol er en ny og pålitelig metode for dataoverføring. Det gir fordeler med både TCP-protokollen og UDP-protokollen. Du kan finne ut alt som lytter til SCTP-tilkoblinger ved hjelp av følgende enkle kommandoer.
$ netstat -lS $ netstat --lytt --sctp
Husk å ikke bruke -s for denne oppgaven. Den viser nettverksstatistikk i stedet. Du kan finne ut detaljert bruk av SCTP ved hjelp av et hvilket som helst av netstat-kommandoeksemplene som er oppført nedenfor.
$ netstat -sS $ netstat --statistikk --sctp
33. Vis Bluetooth-informasjon
Den trådløse datautvekslingsstandarden Bluetooth bruker flere kommunikasjonsprotokoller. De Logisk koblingskontroll- og tilpasningsprotokoll (L2CAP) og Radiofrekvenskommunikasjon (RFCOMM) er to av de primære protokollene som brukes på vertsnivå. Du kan vise informasjon om L2CAP ved hjelp av følgende kommandoer.
$ netstat -2 $ netstat --l2cap
Bruk følgende kommandoer for å vise informasjon om RFCOMM-protokollen.
$ netstat -f $ netstat --rfcomm
Vær oppmerksom på at mange implementeringer av netstat ikke tilbyr Bluetooth-støtte. Hvis du får ledeteksten “Netstat: funksjonen 'AF BLUETOOTH' støttes ikke.“, Så må du kompilere nettverktøyverktøyet på nytt fra kilden.
34. Vis symbolske verdier for verter, porter og brukere
De -N eller -symbolsk alternativene i netstat-kommandoen lar oss skrive ut all informasjon om verter, porter og brukere i symbolsk form. Ta en titt på følgende eksempel for å lære hvordan det fungerer.
$ netstat -atN $ netstat --all --tcp --symbolisk
Utdataene fra disse kommandoene vil inneholde en liste over alle TCP-nettverk, og verten, porten og brukerne vil bli spesifisert ved hjelp av deres symbolske ekvivalent. Det kan være nyttig for administratorer som vil ha detaljert produksjon i stedet for numeriske.
35. Deaktiver avkorting av IP-adresse
Du kan bruke -w eller -bred alternativene til netstat-verktøyet for å deaktivere avkorting av IP-adresser. Dette er ikke veldig nyttig alene, men tilbyr midler for bakoverkompatibilitet.
$ netstat -atw $ netstat --all --tcp --omfattende
Hvis du skriver Linux-skallskript, kan du bruke dette alternativet for å sikre at det ikke avkortes IP-adressene på eldre maskiner.
36. Vis hvilke tjenester som lytter i en bestemt havn
Hvis du er en hacker med hatter eller en infosec-profesjonell, kan det være lurt å se hvilke som lytter i en bestemt port. Dette kan gjøres veldig enkelt ved å kombinere netstat med grep-kommandoen i Linux. Ta en titt på følgende netstat-eksempel for å lære hvordan det kan gjøres.
$ netstat -ltnp | grep ': 22'
Denne kommandoen skriver ut alle programmer som lytter til TCP-port 22. Dette er portnummeret for ssh-tilkoblinger. Erstatt dette nummeret med portnummeret du er interessert i grep-delen.
37. Vis adressefamilier som ikke støttes
Som allerede diskutert, kan netstat samarbeide med et bredt utvalg av adressefamilier. Imidlertid støttes ikke alle av alle netstat-implementeringer. For eksempel støtter mange netstat-versjoner ikke Bluetooth-adressefamilien rett ut av esken. Du kan enkelt sjekke adressefamiliene som ikke støttes av netstat-verktøyet ditt.
$ netstat --verbose | grep "ingen støtte for"
Denne kommandoen vil skrive ut alle adressefamiliene som ikke støttes for maskinen din. Hvis du vil bruke noen av dem, må du hente kilden for nettverktøy og kompilere den med full konfigureringsstøtte.
38. Vis versjonsinformasjon
Du kan skrive ut versjonsinformasjonen for netstat-programmet ved hjelp av -V eller -versjon alternativ. Dette vil skrive ut litt tilleggsinformasjon ved siden av versjonsdataene.
$ netstat -V $ netstat --versjon
Når du kjører en av kommandoene ovenfor, vil du se en liste over støttede og ikke-støttede adressefamilier. Merk at versjonsdataene som vises med denne kommandoen, representerer versjonen av nettverktøy som er installert på maskinen din.
39. Vis hjelpesiden
Hjelpesiden til netstat inneholder oppsummert informasjon om alle tilgjengelige alternativer og bruken av dem. Det tilbyr en praktisk måte å finne alternativene på. Du kan skrive ut denne siden ved å bruke en av følgende netstat-kommandoer.
$ netstat -h $ netstat --hjelp
Hvis du er nettverksadministrator, vil du finne denne delen ganske praktisk.
40. Vis den manuelle siden
Den manuelle siden til Linux-terminalkommandoer inneholder grundig informasjon om kommandos bruk og tilgjengelige alternativer. Du bør gå til denne siden når du vil lære mer om et bestemt program. Mannsiden til netstat kan påkalles ved hjelp av kommandoen nedenfor.
$ man netstat
Sjekk ut denne siden hvis du vil ha utførlig informasjon om netstat og utdataformat.
Avslutte tanker
Netstat-kommandoen er en av de mest brukte terminalkommandoene for sysadmins. Imidlertid har det blitt foreldet i dag, og mer avanserte programmer har dukket opp for å ta over. Erstatningen for netstat er generelt ss-programmet. IP-verktøyet fungerer som erstatning for netstat -r, netstat -i, og netstat -g. Likevel forblir netstat ganske relevant på grunn av den utbredte bruken og tilgjengeligheten på de fleste Linux-distribusjoner. Vi oppfordrer leserne våre sterkt til å bruke de nyere alternativene. Denne dekningen av de essensielle netstat-kommandoene kan tjene som et referansepunkt for brukere som trenger å bruke netstat.