Hvordan bruke Netstat-kommandoen på Mac

Innholdsfortegnelse:

Hvordan bruke Netstat-kommandoen på Mac
Hvordan bruke Netstat-kommandoen på Mac
Anonim

What to Know

  • For å kjøre netstat og se detaljerte data om Mac-nettverket, åpne et nytt Terminal-vindu, skriv netstat, og trykkEnter.
  • Begrens netstats utgang med flagg og alternativer. For å se netstats tilgjengelige alternativer, skriv man netstat ved ledeteksten.
  • Bruk lsof-kommandoen for å gjøre opp for netstats manglende eller begrensede funksjonalitet, inkludert visning av filer som er åpne i apper.

Denne artikkelen forklarer hvordan du kjører kommandoen netstat Terminal i macOS, slik at du kan se detaljert informasjon om Macens nettverkskommunikasjon, inkludert måten Mac-en din snakker til omverdenen på, på tvers av alle porter og alle applikasjoner.

Hvordan kjører du Netstat

Å lære hvordan du bruker netstat kan hjelpe deg med å forstå tilkoblingene datamaskinen din lager og hvorfor. Netstat-kommandoen er tilgjengelig på Mac-er som standard. Du trenger ikke å laste ned eller installere det.

For å kjøre netstat:

  1. Gå til Finder > Go > Utilities.

    Image
    Image
  2. Dobbeltklikk Terminal.

    Image
    Image
  3. I det nye terminalvinduet, skriv netstat og trykk Return (eller Enter) for å utføre kommandoen.

    Image
    Image
  4. En stor mengde tekst vil begynne å rulle på skjermen din. Hvis du ikke bruker noen av de tilgjengelige flaggene (se nedenfor), rapporterer netstat de aktive nettverkstilkoblingene på din Mac. Med tanke på antall funksjoner en moderne nettverksenhet utfører, kan du forvente at listen blir lang. En standardrapport kan løpe over 1000 linjer.

    Image
    Image

Netstat-flagg og alternativer

Filtrering av netstats utdata er avgjørende for å forstå hva som skjer på Mac-ens aktive porter. Netstats innebygde flagg lar deg angi alternativer, og begrenser kommandoens omfang.

For å se alle netstats tilgjengelige alternativer, skriv man netstat ved ledeteksten for å avsløre netstats man (forkortelse for "manual")-side. Du kan også se en nettversjon av netstats man-side.

Syntaks

Det er viktig å merke seg at netstat på macOS ikke fungerer på samme måte som netstat på Windows og Linux. Bruk av flagg eller syntaks fra disse implementeringene av netstat vil kanskje ikke resultere i forventet oppførsel.

For å legge til flagg og alternativer til netstat på macOS, bruk følgende syntaks:

netstat [-AabdgiLlmnqrRsSvWx] [-c kø] [-f address_family] [-I-grensesnitt] [-p-protokoll] [-w wait]

Hvis stenografien ovenfor ser helt uforståelig ut, lær hvordan du leser kommandosyntaks.

Nyttige flagg

Her er noen av de mest brukte flaggene:

  • - a inkluderer serverporter i netstats utdata, som ikke er inkludert i standardutgangen.
  • - g viser informasjon knyttet til multicast-tilkoblinger.
  • - I grensesnitt gir pakkedata for det angitte grensesnittet. Alle tilgjengelige grensesnitt kan sees med - i flagget, men en0 er vanligvis standard utgående nettverksgrensesnitt. (Legg merke til den lille bokstaven.)
  • - n undertrykker etiketten til eksterne adresser med navn. Dette øker hastigheten på netstats produksjon samtidig som det eliminerer bare begrenset informasjon.
  • - p-protokollen viser trafikk knyttet til en spesifikk nettverksprotokoll. Den fullstendige listen over protokoller er tilgjengelig på /etc/protocols, men de viktigste er udp og tcp.
  • - r viser rutetabellen, og viser hvordan pakker rutes rundt i nettverket.
  • - s viser nettverksstatistikken for alle protokoller, uansett om protokollene er aktive eller ikke.
  • - v øker omfanget, spesielt ved å legge til en kolonne som viser prosess-ID-en (PID) knyttet til hver åpne port.

Netstat-eksempler

Vurder disse eksemplene:

netstat -apv TCP

Denne kommandoen returnerer bare TCP-tilkoblinger på din Mac, inkludert åpne porter og aktive porter. Den bruker også detaljerte utdata, og viser PID-ene knyttet til hver tilkobling.

netstat -a | grep -i "lytter"

Denne kombinasjonen av netstat og grep avslører åpne porter, som er porter som lytter etter en melding. Rørtegnet | sender utdata fra en kommando til en annen kommando. Her går utgangen av netstat til grep, slik at du kan søke etter søkeordet "lytt" og finne resultatene.

Tilgang til Netstat via nettverksverktøy

Du kan også få tilgang til noe av netstats funksjonalitet gjennom Network Utility-appen, som er inkludert i macOS-versjoner opp til Catalina (den er ikke inkludert i Big Sur).

For å komme til Network Utility, skriv Network Utility i Spotlight Search for å starte appen, og velg deretter fanen Netstat for å få tilgang til grafisk grensesnitt.

Image
Image

Alternativer i Network Utility er mer begrensede enn de som er tilgjengelige via kommandolinjen. Hvert av de fire alternativknappvalgene kjører en forhåndsinnstilt netstat-kommando og viser utdataene.

Netstat-kommandoene for hver alternativknapp er som følger:

  • Vis informasjon om rutetabell kjører netstat -r.
  • Vis omfattende nettverksstatistikk for hver protokoll kjører netstat -s.
  • Vis multicast-informasjon kjører netstat -g.
  • Vis tilstanden til alle gjeldende stikkontakter kjører netstat.
Image
Image

Supplerer Netstat med Lsof

MacOS-implementeringen av netstat inkluderer ikke mye av funksjonaliteten brukere forventer og trenger. Selv om det har sine bruksområder, er ikke netstat like nyttig på macOS som det er på Windows. En annen kommando, lsof, erstatter mye av den manglende funksjonaliteten.

Lsof viser filer som for øyeblikket er åpne i apper. Du kan også bruke den til å inspisere app-tilknyttede åpne porter. Kjør lsof -i for å se listen over applikasjoner som kommuniserer over internett. Dette er vanligvis målet når du bruker netstat på Windows-maskiner; Den eneste meningsfulle måten å utføre denne oppgaven på på macOS er imidlertid ikke med netstat, men med lsof.

Image
Image

Lsof flagg og alternativer

Å vise alle åpne filer eller internettforbindelser er vanligvis detaljert. Det er derfor lsof kommer med flagg for å begrense resultater med spesifikke kriterier. De viktigste er nedenfor.

For informasjon om flere flagg og tekniske forklaringer av hver, sjekk ut lsofs man-side eller kjør man lsof ved en terminalforespørsel.

  • - i viser åpne nettverkstilkoblinger og navnet på prosessen som bruker tilkoblingen. Hvis du legger til en 4, som i - i4, vises bare IPv4-tilkoblinger. Hvis du legger til en 6 i stedet (- i6), vises bare IPv6-tilkoblinger.
  • - i-flagget kan også utvides for å spesifisere ytterligere detaljer. -iTCP eller -iUDP returnerer bare TCP- og UDP-tilkoblinger. -iTCP:25 returnerer bare TCP-tilkoblinger på port 25. En rekke porter kan spesifiseres med en bindestrek, da det -iTCP:25-50.
  • Using [email protected] returnerer kun tilkoblinger til IPv4-adressen 1.2.3.4. IPv6-adresser kan spesifiseres på samme måte. @-forløperen kan også brukes til å spesifisere vertsnavn på samme måte, men både eksterne IP-adresser og vertsnavn kan ikke brukes samtidig.
  • - s tvinger vanligvis lsof til å vise filstørrelse. Men når det er paret med - i-flagget, fungerer - s annerledes. I stedet lar den brukeren spesifisere protokollen og statusen for kommandoen som skal returneres.
  • - p begrenser lsof til en bestemt prosess-ID (PID). Flere PID-er kan angis ved å bruke commons, for eksempel -p 123, 456, 789. Prosess-ID-er kan også ekskluderes med en ^, som i 123, ^456, som spesifikt vil ekskludere PID 456.
  • - P deaktiverer konverteringen av portnumre til portnavn, noe som øker produksjonen.
  • - n deaktiverer konvertering av nettverksnumre til vertsnavn. Når den brukes med - P ovenfor, kan den øke hastigheten på lsofs produksjon betydelig.
  • - u bruker returnerer bare kommandoer som eies av den navngitte brukeren.

lsof Examples

Her er noen måter å bruke lsof på.

lsof -nP [email protected]:513

Denne kommandoen med et komplekst utseende viser TCP-forbindelsene med vertsnavnet lsof.itap og porten 513. Den kjører også lsof uten kobler navn til IP-adresser og porter, slik at kommandoen kjører merkbart raskere.

lsof -iTCP -sTCP:LISTEN

Denne kommandoen returnerer hver TCP-tilkobling med statusen LISTEN, og avslører de åpne TCP-portene på Mac-en. Den viser også prosessene knyttet til de åpne portene. Dette er en betydelig oppgradering i forhold til netstat, som viser PID-er på det meste.

Image
Image

sudo lsof -i -u^$(whoami)

Image
Image

Andre nettverkskommandoer

Andre terminalnettverkskommandoer som kan være av interesse for å undersøke nettverket ditt inkluderer arp, ping og ipconfig.

Anbefalt: