Hur man använder Netstat Command på Mac

Netstat-kommandot i macOS är ett terminalkommando som visar detaljerad information om din dators nätverkskommunikation. Nätverkskommunikationen inkluderar alla sätt som din Mac pratar med omvärlden, i alla portar och alla applikationer. Erövra netstat kan hjälpa dig att förstå anslutningarna som din dator gör och varför.


Kör Netstat

Netstat-kommandot är tillgängligt på Mac-datorer som standard. Du behöver inte ladda ner eller installera det.

För att köra netstat, öppna ett terminalfönster på tillämpningar > Utilities > terminal. Typ netstat och tryck ange för att utföra kommandot.

wakila / Getty Images

En enorm mängd text börjar rulla på din skärm. Om du inte använder någon av de tillgängliga flaggorna (se nedan), netstat rapporterar alla aktiva nätverksanslutningar 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 köras över 1000 rader.

Filtrering av netstats utdata är viktigt för att förstå vad som händer på din Macs aktiva portar. Med de inbyggda flaggorna kan du ställa in alternativ, vilket begränsar kommandot.

Netstat-flaggor och alternativ

För att se alla tillgängliga alternativ för netstat, skriv man netstat vid kommandotolken för att avslöja netstats mansida. Du kan också se en onlineversion av netstats man-sida.

"Man" är förkortning för "manuell".

syntax

För att lägga till flaggor och alternativ till netstat, använd följande syntax:

netstat [-AabdgiLlmnqrRsSvWx] [-c kö] [-f adress_familj] [-I gränssnitt] [-p-protokoll] [-w vänta]

netstat på macOS fungerar inte 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.

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 netstats utdata, som inte ingår i standardutgången.
  • -g visar information associerad med multicast-anslutningar.
  • -I gränssnittet tillhandahåller paketdata för det angivna gränssnittet. Alla tillgängliga gränssnitt kan ses med -i flagga, men en0 är vanligtvis standard utgående nätverksgränssnitt. (Notera små bokstäver.)
  • -n undertrycker märkningen av fjärradresser med namn. Detta påskyndar dramatiskt netstats produktion samtidigt som den endast begränsar informationen.
  • -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 de ä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 associerade med varje anslutning.

netstat -a | grep -i "lyssna"

Denna kombination av netstat och grep avslöjar öppna portar — 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 några av netstat via Network Utility-appen på Systemet > Bibliotek > Kärn tjänster > tillämpningar.

Klicka på netstat för att komma åt det grafiska gränssnittet.

Alternativ inom nätverksverktyget är mycket 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.

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 det har sina användningsområden, är netstat inte lika användbart på macOS som det är på Windows. Ett annat kommando, lsof, ersätter mycket av den saknade funktionaliteten.

Lsof visar alla filer som för närvarande är öppna i alla appar. Du kan också använda den för att inspektera appassocierade öppna portar. Springa lsof -i, och du ser en lista över alla 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-flaggor och alternativ

Att visa varje enskild ö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 alla ö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.
  • Vårt -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 det -iTCP: 25-50.
  • Användning av [email protected] returnerar 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 status för kommandot att returnera.
  • -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 konvertering av nätverksnummer till värdnamn. När den används med -P ovan kan det avsevärt påskynda lsofs produktion.
  • -u användaren 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 listar alla 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 alla öppna TCP-portar på din Mac. Det listar också de processer som är associerade med de öppna portarna. Detta är en betydande uppgradering över netstat, som högst listar PID.

sudo lsof -i -u ^ $ (whoami)

Detta kommando returnerar alla anslutningar som inte ägs av den inloggade användaren.

Vaktmästaren (^) är för negation. Resultaten innehåller inte något som matchar texten efter markeringen. Du kan få namnet på den för närvarande inloggade användaren genom att köra whoami inuti lsof kommando, omgiven av $ () att låta lsof få åtkomst till dess utdata som text. Genom att köra med sudo kan du se uppgifter som inte ägs av dig. Att köra det här kommandot utan sudo returnerar en tom lista.

Andra nätverkskommandon

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

#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}

var gt_not_translated_list = ["wakila / Getty Images","man netstat","netstat -apv TCP","netstat -s","netstat -g","lsof","lsof -i","man lsof","-i4","-i6","lsof.itap"];
document.cookie = "googtrans=/auto/sv; domain=.balogs.xyz";
document.cookie = "googtrans=/auto/sv";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'auto',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}

Lämna en kommentar