Saltar al contenido

Hur man använder Netstat Command på Mac

15 de julio de 2021
use netstat on mac guide hero 5bad6acfc9e77c0051f565ba

Vad du ska veta

  • För att köra netstat och se detaljerad information om din Macs nätverk, öppna en ny Terminal fönster, skriv netstatoch Tryck Stiga på.
  • Begränsa netstats produktion med flaggor och alternativ. Om du vill se netstats tillgängliga alternativ skriver du man netstat vid kommandotolken.
  • Använd lsof kommando för att kompensera för netstats saknade eller begränsade funktionalitet, inklusive att visa alla filer som för närvarande är öppna i alla appar.

Den här artikeln förklarar hur du kör kommandot netstat Terminal i macOS så att du kan se detaljerad information om din Macs nätverkskommunikation, inklusive hur din Mac pratar med omvärlden, över alla portar och alla applikationer.

Hur man kör Netstat

Lär dig hur man använder netstat kan hjälpa dig att förstå anslutningarna som din dator gör och varför. Netstat-kommandot är tillgängligt på Mac-datorer som standard. Du behöver inte ladda ner eller installera det. Så här kör du netstat:

  1. Gå till Upphittare > > Verktyg.

  2. Dubbelklicka Terminal.

    Verktygsmapp med Terminal markerad

  3. I det nya terminalfönstret skriver du netstat och tryck Lämna tillbaka (eller Stiga på) för att utföra kommandot.

    Terminalfönster med kommandot netstat markerat

  4. En enorm mängd text kommer att börja rulla på din skärm. Om du inte använder någon av de tillgängliga flaggorna (se nedan) rapporterar netstat de aktiva nätverksanslutningarna på din Mac. Med tanke på antalet funktioner som en modern nätverksenhet utför kan du förvänta dig att listan blir lång. En standardrapport kan gå över 1 000 rader.

    En lång netstatrapport i ett terminalfönster

Netstat-flaggor och alternativ

Filtrering av netstats utdata är viktigt för att förstå vad som händer på din Macs aktiva portar. Netstats inbyggda flaggor låter dig ställa in alternativ, vilket begränsar kommandot. Om du vill se alla netstats tillgängliga alternativ skriver du man netstat vid kommandotolken för att avslöja netstats man (förkortning för «manuell») sida. Du kan också se en onlineversion av netstats man-sida.

Syntax

Det är viktigt att notera att netstat på macOS inte fungerar på samma sätt som netstat på Windows och Linux. Att använda flaggor eller syntax från dessa implementeringar av netstat kan inte leda till det förväntade beteendet. För att lägga till flaggor och alternativ till netstat på macOS, använd följande syntax:

netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface] [-p protocol] [-w wait]

Om ovanstående stenografi ser helt obegriplig ut, lär dig hur du läser kommandosyntax.

Användbara flaggor

Här är några av de vanligaste flaggorna:

  • -a inkluderar serverportar i netstatens utdata, som inte ingår i standardutgången.
  • -g visar information associerad med multicast-anslutningar.
  • -Jag gränssnitt tillhandahåller paketdata för det angivna gränssnittet. Alla tillgängliga gränssnitt kan visas med -i flagga, men en0 är vanligtvis standard utgående nätverksgränssnitt. (Notera små bokstäver.)
  • -n undertrycker etiketten för fjärradresser med namn. Detta påskyndar netstats produktion samtidigt som endast begränsad information elimineras.
  • -p protokoll listar trafik associerad med ett specifikt nätverksprotokoll. Den fullständiga listan över protokoll finns på / etc / protokoll, men de viktigaste är udp och tcp.
  • -r visar routingtabellen, som visar hur paket dirigeras runt nätverket.
  • -s visar nätverksstatistiken för alla protokoll, oavsett om protokollen är aktiva eller inte.
  • -v ökar noggrannheten, särskilt genom att lägga till en kolumn som visar process-ID (PID) associerat med varje öppen port.

Netstat-exempel

Tänk på dessa exempel:

netstat -apv TCP

Detta kommando returnerar endast TCP-anslutningar på din Mac, inklusive öppna portar och aktiva portar. Den använder också detaljerad utdata och listar PID: erna som är kopplade till varje anslutning.

netstat -a | grep -i «lyssna»

Denna kombination av netstat och grep avslöjar öppna portar, vilka är portar som lyssnar på ett meddelande. Rörkaraktären | skickar utdata från ett kommando till ett annat kommando. Här är resultatet av netstat rör till grep, så att du kan söka efter nyckelordet «lyssna» och hitta resultaten.

Åtkomst till Netstat via nätverksverktyg

Du kan också komma åt en del av netstats funktionalitet via appen Network Utility, som ingår i macOS-versioner upp till Catalina (den ingår inte i Big Sur). För att komma till Network Utility, skriv Nätverksverktyg i Spotlight Search för att starta appen och välj sedan Netstat för att komma åt det grafiska gränssnittet.

Fliken Netstat i nätverksverktyget

Alternativ inom nätverksverktyget är mer begränsade än de som finns tillgängliga via kommandoraden. Var och en av de fyra alternativknapparna kör en förinställd netstat kommandot och visar utdata. Netstat-kommandona för varje alternativknapp är följande:

  • Visa information om routingtabellen kör netstat -r.
  • Visa omfattande nätverksstatistik för varje protokoll kör netstat -s.
  • Visa information om multicast kör netstat -g.
  • Visa status för alla nuvarande uttag kör netstat.

1626364780 180 Hur man anvander Netstat Command pa Mac Netstat» class=»lazyload» id=»mntl-sc-block-image_1-0-67″ >

Kompletterar Netstat med Lsof

MacOS-implementeringen av netstat innehåller inte mycket av den funktionalitet som användare förväntar sig och behöver. Även om den har sina användningsområden, är netstat inte lika användbart på macOS som på Windows. Ett annat kommando, lsof, ersätter mycket av den saknade funktionaliteten. Lsof visar filer som för närvarande är öppna i appar. Du kan också använda den för att inspektera appassocierade öppna portar. Springa lsof -i för att se listan över applikationer som kommunicerar via internet. Detta är vanligtvis målet när du använder netstat på Windows-maskiner; det enda meningsfulla sättet att utföra den uppgiften på macOS är dock inte med netstat utan med lsof.

Lsof-utgång

Lsof-flaggor och alternativ

Visning av varje öppen fil eller internetanslutning är vanligtvis detaljerad. Därför kommer lsof med flaggor för att begränsa resultat med specifika kriterier. De viktigaste är nedan. För information om fler flaggor och tekniska förklaringar för var och en, kolla in lsofs mansida eller kör man lsof vid en terminalprompt.

  • -i visar öppna nätverksanslutningar och namnet på processen som använder anslutningen. Lägga till en 4, som i -i4, visar endast IPv4-anslutningar. Lägga till en 6 istället (-i6) visar endast IPv6-anslutningar.
  • De -i flagga kan också utökas för att specificera ytterligare detaljer. -iTCP eller -iUDP returnerar endast TCP- och UDP-anslutningar. -iTCP: 25 returnerar endast TCP-anslutningar på port 25. Ett antal portar kan specificeras med en streck, eftersom den -iTCP: 25-50.
  • Med [email protected] returneras endast anslutningar till IPv4-adressen 1.2.3.4. IPv6-adresser kan anges på samma sätt. Föregångaren @ kan också användas för att ange värdnamn på samma sätt, men både fjärr-IP-adresser och värdnamn kan inte användas samtidigt.
  • -s tvingar vanligtvis lsof att visa filstorlek. Men när parat med -i flagga, -s fungerar annorlunda. Istället tillåter det användaren att ange protokollet och statusen för kommandot som ska returneras.
  • -p begränsar lsof till ett visst process-ID (PID). Flera PID kan ställas in med hjälp av commons, till exempel -p 123,456,789. Process-ID kan också uteslutas med a ^, som i 123, ^ 456, vilket specifikt skulle utesluta PID 456.
  • -P inaktiverar omvandlingen av portnummer till portnamn, vilket påskyndar utdata.
  • -n inaktiverar omvandlingen av nätverksnummer till värdnamn. När den används med -P ovan kan det avsevärt påskynda lsofs produktion.
  • u användare returnerar endast kommandon som ägs av den namngivna användaren.

Exempel

Här är några sätt att använda lsof.

lsof -nP [email protected]: 513

Det här komplexa kommandot visar TCP-anslutningar med värdnamnet lsof.itap och hamnen 513. Den kör också lsof utan att ansluta namn till IP-adresser och portar, vilket gör att kommandot körs märkbart snabbare.

lsof -iTCP -sTCP: LYSSNA

Detta kommando returnerar varje TCP-anslutning med status LYSSNA, avslöjar de öppna TCP-portarna på Mac. Den listar också de processer som är associerade med de öppna portarna. Detta är en betydande uppgradering över netstat, som högst listar PID.

Lsof lyssna kommando

sudo lsof -i -u ^ $ (whoami)

Whoami-kommando i Terminal

Andra nätverkskommandon

Andra terminalnätverkskommandon som kan vara av intresse för att undersöka ditt nätverk inkluderar arp, ping och ipconfig.