Netstat (netværksstatistik) i Linux giver information relateret til netværksforbindelser. Du kan bruge forskellige netstat-kommandoer til at vise aktive netværksforbindelser, interface-data, routingtabeller osv. Dette er vigtig information for netværksadministratorer og infosec-fagfolk. Derfor har vi udarbejdet denne guide med et bredt udvalg af nyttige netstat-eksempler. Når du har gennemført denne vejledning, kan du inspicere alle netværksrelaterede oplysninger til din Linux-maskine. Vi opfordrer også læserne til at prøve disse eksempler på deres egen maskine for at få en mere praktisk oplevelse.
Netstat-kommandoeksempler til netværksadministratorer
Oplysningerne fra netstat gør det let at lokalisere problemer i netværksforbindelser. Dette er grunden til, at netstat er go-to-værktøjet til fejlfinding af netværksforbindelser for mange sysadmins. Fortsæt med at læse for at finde ud af, hvordan du bruger netstat-kommandoen bedst.
1. Vis alle aktive stikkontakter
Stik er strukturer, der fungerer som slutpunkter, når de sender eller modtager netværksanmodninger. Når det bruges uden argumenter, viser netstat en liste over alle de åbne stik i din maskine.
$ netstat
Som standard viser denne kommando de aktive stikkontakter for alle netværksfamilier. Som du måske bemærker, udskriver den en masse yderligere oplysninger under etiketten “Unix Domain Sockets“. Dette er datakommunikationsendepunkterne for de aktuelt kørende processer på din maskine.
2. Vis alle lytte- og ikke-lyttestik
Du kan bruge --en mulighed for netstat til at udskrive en liste over alle lytte- og ikke-lyttestik. Kør følgende kommando og kontroller output for at se, hvordan denne kommando fungerer.
$ netstat -a $ netstat - alt
Det -alle option fungerer det samme som --en. Outputtet skal vise alle stikkontakter, både aktive og inaktive. Rækkerne repræsenterer stikkene, og søjlen dikterer deres værdier. Brugere kan se sokkelprotokollen, sendte / modtagne data, adresser og tilhørende tilstande.
3. Vis TCP-forbindelser
TCP eller Transmission Control Protocol er den mest anvendte internetprotokol. Du kan bruge følgende netstat-kommando til kun at vise de aktive TCP-forbindelser.
$ netstat -t $ netstat --tcp
Du kan også bruge den lange form -tcp i stedet for -t. Brug nedenstående kommando til at se en liste over alle lytning og etablerede TCP-netværksforbindelser.
$ netstat -at $ netstat -all --tcp
4. Vis UDP-forbindelser
UDP eller User Datagram Protocol er en anden vigtig netværksprotokol, der bruges af vores systemer. Du kan bruge netstat-værktøjet til at vise en liste over etablerede og lyttestik til UDP-forbindelser.
$ netstat -u $ netstat --udp
Dette eksempel udskriver alle etablerede UDP-forbindelser. Hvis du vil se alle etablerede samt lytteforbindelser, skal du bruge nedenstående kommando i stedet.
$ netstat -au $ netstat - alle --udp
5. Vis alle lytende TCP-forbindelser
Du kan vise en liste over alle TCP-forbindelser, der lytter, ved hjælp af -l og -t flag af netstat-programmet. Tjek nedenstående kommando for at se, hvordan det sker.
$ netstat -lt
Det viser alle TCP-forbindelser, der aktivt lytter efter indgående netværksanmodninger. Outputtet skal indeholde oplysninger om både TCP- og TCP6-protokoller. Du kan også bruge langformssyntaks, når du bruger denne kommando i Linux-shell-scripts.
$ netstat - listen --tcp
6. Vis alle UDP-forbindelser, der lytter
Brugere kan følge den samme fremgangsmåde som vist ovenfor for at få vist UDP-forbindelser, der lytter. Åbn din foretrukne Linux terminalemulator, og kør nedenstående kommando for at gøre det.
$ netstat -lu
Som med den tidligere kommando viser den forbindelser til UDP- og UDP6-protokollerne. Nedenstående eksempel illustrerer langformen.
$ netstat - listenen --udp
7. Vis alle UDP-Lite-forbindelser, der lytter
UDP-Lite er en forbindelsesfri protokol baseret på UDP-protokollen. Det giver systemer mulighed for at modtage en potentielt beskadiget netværkspakke. Du kan vise lytteforbindelserne til denne protokol ved hjælp af følgende enkle kommando.
$ netstat -lu
Det -U mulighed for netstat giver administratorer mulighed for at specificere udplite-protokollen. Du kan også bruge -udplite som den lange form for denne mulighed.
$ netstat - pludselig
8. Vis Listening Unix-forbindelser
Vi har allerede diskuteret, hvordan Linux-systemer bruger Unix domænesocket til inter-proces kommunikation (IPC). Du kan udskrive en liste over alle lytende Unix-forbindelser til din maskine ved hjælp af følgende netstat-kommando.
$ netstat -lx
Det -x option angiver Unix-domænesockets. Du kan bruge den forkortede form -unix i stedet for -x. Dette er nyttigt til dokumentation af shell-scripts.
$ netstat --unix
9. Vis protokolstatistik
Netstat-værktøjet tilbyder fremragende support til protokolstatistikker. Brugere kan se en bred vifte af oplysninger fra statistikdataene, såsom antallet af forbindelser, pakker, dårlige segmenter osv. Tjek resultatet for den næste kommando for at se, hvordan dette fungerer.
$ netstat -s $ netstat --statistik
Som standard viser denne kommando oplysninger om TCP-, UDP-, ICMP- og IP-protokollerne. Netværksadministratorer kan bruge dette output til at bestemme potentielle problemer i netværksforbindelser.
10. Vis TCP-protokolstatistikker
Brugere kan også kun se forbindelsesstatistikker for en enkelt protokol. Følgende eksempel viser kun statistikdata for TCP-protokollen.
$ netstat -st
Vi kan let kombinere -s mulighed med en protokolvælger, og find ud af statistikdata om det. Eksemplet nedenfor udskriver det samme output, men bruger den forkortede syntaks.
$ netstat --statistik --tcp
11. Vis UDP-protokolstatistikker
Vi kan se statistikdataene for UDP-protokollen på samme måde, som vi så TCP-statistikker. Udskift -t eller --tcp mulighed med en af -u eller -udp. Tjek de næste to eksempler for at se, hvordan dette fungerer.
$ netstat -su $ netstat --statistik --udp
Bemærk, at du også finder udplite-statistikkerne fra disse kommandoer. Men hvis du angiver udplite ved hjælp af -U eller -udplite mulighed, vil der ikke være UDP-data om den resulterende output.
12. Vis programnavne
Du kan bruge netstat-værktøjet til at vise, hvilke programmer der har startet netværksforbindelserne. Dette kan være yderst nyttigt ved fejlfinding af netværksproblemer. Tjek nedenstående kommando for at se, hvordan det fungerer.
$ netstat -pt
Outputtet skal indeholde etablerede TCP-forbindelser og de programmer, der er ansvarlige for disse forbindelser. Du kan også bruge den forkortede form -program i stedet for -s, som illustreret i nedenstående eksempel.
$ netstat --program --tcp
13. Vis netværksoplysninger i kontinuerlig tilstand
Det -c eller -sammenhængende valgmulighederne for netstat giver det mulighed for kontinuerligt at vise de angivne oplysninger. Tjek nedenstående kommandoer for at se, hvordan dette fungerer.
$ netstat -tc $ netstat --tcp - kontinuerlig
Standard opdateringsintervallet er 1 sekund. Brugere kan dog tilsidesætte det ved at angive et ekstra argument som vist i eksemplerne nedenfor.
$ netstat -tc 5 $ netstat --tcp - kontinuerlig 3
I modsætning til mange Linux-terminalkommandoer går intervallvælgeren ikke efter et lighedstegn for den forkortede syntaks.
14. Vis routingtabellerne
Netværksværktøjet kan bruges til at vise routingtabellerne defineret af Linux-kernen. Outputtet svarer til det, der leveres af Linux IP-kommandoen.
$ netstat -r
Denne kommandas output viser oplysninger som destinationsadressen, gatewayen, undernetmasken og netværksgrænsefladenavnet. Du kan bruge den forkortede syntaks -rute hvis du vil dokumentere denne kommandos brug i dine shell-scripts.
$ netstat - rute
15. Vis interface-statistik
Netstat kan bruges til at udskrive interfacestatistikkerne til dit Linux-system. Følgende kommando udskriver de tilgængelige netværksgrænseflader og giver information om de transmitterede og modtagne pakker, fejlfrekvens og MTU.
$ netstat -i $ netstat - grænseflader
Du kan bruge en af mulighederne for at se oplysninger om netværksgrænsefladen.
16. Vis interface-statistik i realtid
For at se interface-statistik i realtid skal du kombinere -c eller -sammenhængende mulighed med interface-indstillingen. Følgende eksempler opdaterer netværksinterfacestatistikkerne hvert 3. sekund.
$ netstat -ic 3 $ netstat - grænseflader - kontinuerlig 3
Du skal bemærke ændringer under de transmitterede (TX) og modtagne (RX) felter. Udskift tidsintervallet med et tal, der passer til dit behov. Bemærk, at intervallet er i sekunder, ikke minutter.
17. Vis kernetabel til grænseflader
Følgende netstat-kommando viser interfacetabellen defineret af Linux-kernen. Denne kommando svarer til det output, der leveres af Linux ifconfig-kommandoen.
$ netstat -ie
Det -e eller -forlænge option tvinger netstat til at udskrive denne interface-tabel. Følgende eksempel illustrerer den samme kommando ved hjælp af den forkortede syntaks.
$ netstat - grænseflader - udvid
18. Vis IP-oplysninger
Du kan få vist IPv4 / IPv6-gruppemedlemskaber meget let ved hjælp af netstat-værktøjet. Tjek følgende enkle eksempel for at se, hvordan dette fungerer.
$ netstat -g $ netstat - grupper
Så -g eller -grupper mulighed for netstat kan se multicast-gruppemedlemskaber.
19. Vis lytteprogrammer
Du kan bruge netstat-programmet til at se, hvilke programmer der aktivt lytter efter indgående netværksanmodninger. Dette er meget nyttigt, da du kan bestemme, hvilke programmer der er ansvarlige for bestemte netværksaktiviteter ud fra denne output.
$ netstat -ap | grep "http" $ netstat - alle --program | grep "http"
Vi udskriver blot alle lytteprogrammer og filtrerer derefter de nødvendige lister ud ved hjælp af grep. Se vores tidligere vejledning om Linux grep-kommandoer for at se, hvordan GREP filtrerer pipedata.
20. Vis RAW-netværksstatistikker
Følgende netstat-eksempel viser dig, hvordan du bruger det til visning af rå netværksstatistikker. Kopier kommandoen, og kør den i din terminalemulator for at få vist output til din personlige maskine.
$ netstat -sw $ netstat --statistik --raw
Outputtet skal indeholde statistiske data for rå netværksforbindelser, herunder for IP, ICMP og udplite.
21. Vis oplysninger om IPv4-ruter
Du kan bruge understatskommandoen til netstat til at se de IPv4-ruter, der er defineret af kernen. Se følgende eksempel for at lære, hvordan du gør dette.
$ netstat -r -4 $ netstat --route --inet
Så, -inet er den forkortede form for denne mulighed. Du kan også kombinere indstillingerne, hvis du bruger den korte formular.
$ netstat -r4
22. Vis oplysninger om IPv6-ruter
Vi kan udskrive IPv6-routinginformation på samme måde som ovenstående kommando. Brug -6 eller -inet6 mulighed sammen med -rute eller -r flag. Følgende eksempel illustrerer dette for læserne.
$ netstat -r -6 $ netstat --route --inet6
Bemærk, at outputfelterne varierer mellem IPv4 og IPv6. Så sørg for at læse kolonneetiketterne. Nedenstående eksempel kombinerer de korte former for IPv6-adressefamilien.
$ netstat -r6
23. Vis maskerade-forbindelser
Masquerade-forbindelser tillader et eller flere systemer uden specificerede IP'er at oprette forbindelse til internettet ved hjælp af adresserne tildelt af Linux-serveren. Du kan se en liste over maskerade netværksforbindelser og deres statistikker ved hjælp af følgende netstat-kommando i Linux.
$ netstat -M $ netstat - masquerade
Når du kører en af ovenstående kommandoer, henter netstat de krævede oplysninger ved at læse dit Linux-filsystems / proc / net / ip_masquerade fil.
24. Displaynetværkstimere
Du kan afgøre, om der er nogen timere til dine netværksforbindelser ved hjælp af -o mulighed for netstat. Dette kan være nyttigt, når du prøver at foretage fejlfinding af udgående netværksanmodninger. Tjek følgende kommandoer for at se, hvordan dette fungerer.
$ netstat -t -o | mere $ netstat --tcp --timere | mere
Outputtet skal indeholde, om der er timere til stede, og hvis deres type. To skråstreger adskiller tre-timers felter. Det første felt er nedtællingstimeren, og det andet er til sporing af antallet af forsøg igen. Endelig sporer det sidste felt antallet af keepalive-sonder, der er sendt af TCP-stakken.
25. Vis IP-adresser i stedet for FQDN
Som standard forsøger netstat at løse DNS, når de udskriver netværksstatistikker. Du kan dog let deaktivere det og udskrive de tilknyttede IP-adresser i stedet for FQDN (fuldt kvalificeret domænenavn). Dette er nyttigt til netværksovervågning og fejlfinding.
$ netstat --numeric-hosts --tcp --all
Det -numeriske værter option signalerer netstat om at springe DNS-opløsningerne over og udskrive de numeriske IP-adresser i stedet. Se vores guide til Ubuntu DNS-servere for at lære mere om domænenavnssystemet.
26. Vis numeriske portnumre
Du kan udelade de symbolske portoplysninger fra dine netstat-output ved hjælp af -numeriske porte mulighed. Denne mulighed tvinger netstat til at udskrive de numeriske portnumre i stedet. Tjek nedenstående eksempel for at se, hvordan det fungerer.
$ netstat --numriske-porte --tcp --all
Sammenlign output med det foregående eksempel for at finde forskellene. Du finder ud af, at dette output indeholder nøjagtige portnummerrepræsentationer. Dette er antallet, der efterfølger værtsdelen af din output, efterfulgt af et kolon.
27. Vis bruger-id'et til netværksforbindelser
Følgende eksempel viser, hvordan man viser bruger-id'et for den bruger, der ejer netværksforbindelserne. Dette kan gøres ved hjælp af to indstillinger i netstat-kommandoen.
$ netstat --numeric-brugere --tcp -e
Det -e indstilling udskriver brugerens navn og -numeriske brugere konverterer det til identifikationsnumre. Dette er UID (brugeridentifikation), der er indstillet for hver bruger af dit Linux-system.
28. Vis numeriske ækvivalenter for værter, porte og brugere
Du kan kombinere ovenstående tre netstat-kommandoer ved hjælp af en enkelt mulighed. Dette vil tvinge netstat til at udskrive alle værter, porte og brugeroplysninger ved hjælp af deres numeriske ækvivalent. Tjek følgende eksempler for at se, hvad vi mener.
$ netstat -nt $ netstat --numeric --tcp
Du kan bruge en af -numerisk eller -n for at gøre dette. Hvis du ser på output, skal du se IP-adresser, portnummer og UID-oplysninger i numerisk form.
29. Vis yderligere oplysninger
Det -e eller -forlænge valgmulighederne i netstat-værktøjet giver brugerne mulighed for at vise ekstra information til deres kommandoer. Disse kan føre til opdagelsen af skjulte bugs. Tjek nedenstående eksempel for at se, hvordan det fungerer.
$ netstat -tpe
Denne kommando kombinerer -t, -s, og -e muligheder for at udskrive de etablerede TCP-forbindelser, de programmer, der ejer dem, og nogle ekstra oplysninger. Denne ekstra information inkluderer bruger- og inodeoplysninger. Brug -e mulighed to gange for at få mere information.
$ netstat --tcp --program --extend --extend
30. Vis Kernel Routing Cache
Routing-cachen indeholder de routing-poster, der blev brugt senest. Da dette er cachelagrede data, kan oplysningerne tilgås meget hurtigt. Du kan bruge følgende kommando til at udskrive rutecache ved hjælp af netstat.
$ netstat -rC
Som standard henter netstat ruteoplysninger fra FTB. Men da systemer normalt bruger cachelagrede data, inden de ser routingtabellen op, kan det være nyttigt at vide, hvilket indhold der er gemt der. Der er ingen lang form for denne parameter.
31. Vis oplysninger for flere protokoller
Netstat giver brugerne mulighed for at udskrive netværksoplysninger til et sæt protokoller ved hjælp af -EN eller -protokol mulighed. De følgende eksempler illustrerer brugen af disse muligheder.
$ netstat -A inet, inet6 $ netstat --protocol = inet, inet6
Bemærk forskellen mellem brugen af -protokol og -EN. De understøttede adressefamilier for disse muligheder inkluderer inet, inet6, unix, ddp, bluetooth osv.
32. Vis SCTP-oplysninger
SCTP eller Stream Control Transmission Protocol er en ny og pålidelig metode til dataoverførsel. Det giver fordele ved både TCP-protokollen og UDP-protokollen. Du kan finde ud af at lytte til SCTP-forbindelser ved hjælp af følgende enkle kommandoer.
$ netstat -lS $ netstat - listen --sctp
Husk ikke at bruge -s til denne opgave. Det viser netværksstatistikker i stedet. Du kan finde ud af den detaljerede brug af SCTP ved hjælp af et af nedenstående netstat-kommandoeksempler.
$ netstat -sS $ netstat --statistik --sctp
33. Vis Bluetooth-oplysninger
Den trådløse dataudvekslingsstandard Bluetooth bruger flere kommunikationsprotokoller. Det Logisk linkkontrol- og tilpasningsprotokol (L2CAP) og Radiofrekvenskommunikation (RFCOMM) er to af dens primære protokoller, der bruges på værtsniveau. Du kan få vist oplysninger om L2CAP ved hjælp af følgende kommandoer.
$ netstat -2 $ netstat --l2cap
Brug følgende kommandoer til at få vist oplysninger om RFCOMM-protokollen.
$ netstat -f $ netstat --rfcomm
Bemærk, at mange implementeringer af netstat ikke tilbyder Bluetooth-understøttelse. Hvis du får prompten “Netstat: funktion 'AF BLUETOOTH' understøttes ikke.“, Så bliver du nødt til at kompilere netværktøjsværktøjet igen fra kilden.
34. Vis symbolske værdier for værter, porte og brugere
Det -N eller -symbolsk indstillingerne for netstat-kommandoen giver os mulighed for at udskrive alle oplysninger om værter, porte og brugere i symbolsk form. Tjek følgende eksempel for at lære, hvordan det fungerer.
$ netstat -atN $ netstat --all --tcp --symbolisk
Outputtet fra disse kommandoer indeholder en liste over alle TCP-netværk, og værten, porten og brugerne specificeres ved hjælp af deres symbolske ækvivalent. Det kan være nyttigt for administratorer, der ønsker mere detaljeret output end numeriske.
35. Deaktiver afkortning af IP-adresse
Du kan bruge -w eller -bred valgmuligheder i netstat-værktøjet til at deaktivere IP-adressers trunkering. Dette er ikke særlig nyttigt alene, men tilbyder midler til bagudkompatibilitet.
$ netstat -atw $ netstat - alt --tcp - bredt
Hvis du skriver Linux-shell-scripts, skal du bruge denne indstilling for at sikre, at den ikke afkortes IP-adresserne på ældre maskiner.
36. Vis hvilke tjenester der lytter i en bestemt havn
Hvis du er en hacker med hvid hat eller infosec-professionel, kan du se, hvilke der lytter i en bestemt port. Dette kan gøres meget let ved at kombinere netstat med grep-kommandoen i Linux. Tjek følgende netstat-eksempel for at lære, hvordan det kan gøres.
$ netstat -ltnp | grep ': 22'
Denne kommando udskriver alle programmer, der lytter til TCP-port 22. Dette er portnummeret for ssh-forbindelser. Udskift dette nummer med portnummeret for din interesse i grep-delen.
37. Vis adressefamilier, der ikke understøttes
Som allerede beskrevet kan netstat arbejde med en bred vifte af adressefamilier. Ikke alle understøttes dog af enhver netstat-implementering. For eksempel understøtter mange netstat-versioner ikke Bluetooth-adressefamilien lige ud af kassen. Du kan nemt kontrollere de adressefamilier, der ikke understøttes af dit netstat-værktøj.
$ netstat --verbose | grep "ingen støtte til"
Denne kommando udskriver alle ikke-understøttede adressefamilier til din maskine. Hvis du vil bruge nogen af dem, skal du hente kilden til netværktøjer og kompilere den med den fulde konfigurationssupport.
38. Vis versionoplysninger
Du kan udskrive versionoplysningerne til dit netstat-program ved hjælp af -V eller -version mulighed. Dette vil udskrive yderligere oplysninger sammen med versionsdataene.
$ netstat -V $ netstat --version
Når du kører en af ovenstående kommandoer, vil du se en liste over understøttede og ikke-understøttede adressefamilier. Bemærk, at de versionsdata, der vises med denne kommando, repræsenterer den version af netværktøjer, der er installeret på din maskine.
39. Vis hjælpesiden
Netstatens hjælpeside indeholder opsummerede oplysninger om alle tilgængelige muligheder og deres anvendelse. Det giver en bekvem måde at finde mulighederne på. Du kan udskrive denne side ved hjælp af en af følgende netstat-kommandoer.
$ netstat -h $ netstat - hjælp
Hvis du er netværksadministrator, finder du dette afsnit ret praktisk.
40. Vis den manuelle side
Den manuelle side med Linux-terminalkommandoer indeholder detaljerede oplysninger om kommandos brug og tilgængelige indstillinger. Du bør konsultere denne side, når du vil lære mere om et specifikt program. Manstatssiden for netstat kan påberåbes ved hjælp af kommandoen nedenfor.
$ man netstat
Tjek denne side, hvis du vil have detaljerede oplysninger om netstat og dets outputformat.
Afslutter tanker
Netstat-kommandoen er en af de mest anvendte terminalkommandoer til sysadmins. Imidlertid er det blevet forældet i dag, og mere avancerede programmer er dukket op for at overtage. Erstatningen for netstat er generelt ss-programmet. IP-værktøjet fungerer som erstatning for netstat -r, netstat -i, og netstat -g. Ikkestat forbliver alligevel ret relevant på grund af dets udbredte brug og tilgængelighed på de fleste Linux-distributioner. Vi opfordrer stærkt vores læsere til at bruge de nyere alternativer. Denne dækning af de væsentlige netstat-kommandoer kan tjene som referencepunkt for brugere, der har brug for at bruge netstat.