Wat om te weet
- Om netstat te laat loop en gedetailleerde data oor jou Mac se netwerk te sien, maak 'n nuwe Terminal venster oop, tik netstat, en drukEnter.
- Beperk netstat se uitset met vlae en opsies. Om netstat se beskikbare opsies te sien, tik man netstat by die opdragprompt.
- Gebruik die lsof-opdrag om op te maak vir netstat se ontbrekende of beperkte funksionaliteit, insluitend die vertoon van enige lêers wat tans in enige toepassings oop is.
Hierdie artikel verduidelik hoe om die netstat Terminal-opdrag in macOS uit te voer sodat jy gedetailleerde inligting oor jou Mac se netwerkkommunikasie kan sien, insluitend die maniere waarop jou Mac met die buitewêreld praat, oor alle poorte en alle toepassings heen.
Hoe om Netstat te laat loop
Om te leer hoe om netstat te gebruik, kan jou help om die verbindings wat jou rekenaar maak en hoekom te verstaan. Die netstat-opdrag is by verstek beskikbaar op Macs. Jy hoef dit nie af te laai of te installeer nie.
Om netstat te laat loop:
-
Gaan na Finder > Go > Utilities.
-
Dubbelklik Terminal.
-
In die nuwe Terminal-venster, tik netstat en druk Return (of Enter) om die opdrag uit te voer.
-
'n Groot hoeveelheid teks sal op jou skerm begin blaai. As jy nie enige van die beskikbare vlae gebruik nie (sien hieronder), rapporteer netstat die aktiewe netwerkverbindings op jou Mac. Met inagneming van die aantal funksies wat 'n moderne netwerktoestel verrig, kan jy verwag dat die lys lank sal wees. 'n Standaardverslag kan oor 1 000 reëls loop.
Netstat-vlae en -opsies
Filtering van netstat se uitset is noodsaaklik om te verstaan wat op jou Mac se aktiewe poorte gebeur. Netstat se ingeboude vlae laat jou toe om opsies te stel, wat die opdrag se omvang beperk.
Om al netstat se beskikbare opsies te sien, tik man netstat by die opdragprompt om netstat se man (kort vir "handleiding") bladsy te openbaar. Jy kan ook 'n aanlyn weergawe van netstat se man-bladsy bekyk.
Sintaksis
Dit is belangrik om daarop te let dat netstat op macOS nie op dieselfde manier werk as netstat op Windows en Linux nie. Die gebruik van vlae of sintaksis van daardie implementerings van netstat mag dalk nie die verwagte gedrag tot gevolg hê nie.
Om vlae en opsies by netstat op macOS te voeg, gebruik die volgende sintaksis:
netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f adres_familie] [-I koppelvlak] [-p protokol] [-w wag]
As die snelskrif hierbo heeltemal onverstaanbaar lyk, leer hoe om opdragsintaksis te lees.
Nuttige vlae
Hier is 'n paar van die vlae wat die meeste gebruik word:
- - a sluit bedienerpoorte in netstat se afvoer in, wat nie by die verstekuitvoer ingesluit is nie.
- - g vertoon inligting wat met multicast-verbindings geassosieer word.
- - I koppelvlak verskaf pakkiedata vir die gespesifiseerde koppelvlak. Alle beskikbare koppelvlakke kan met die - i vlag bekyk word, maar en0 is tipies die verstek uitgaande netwerkkoppelvlak. (Let op die kleinletter.)
- - n onderdruk die etiket van afgeleë adresse met name. Dit versnel netstat se uitset terwyl slegs beperkte inligting uitgeskakel word.
- - p protokol lys verkeer wat met 'n spesifieke netwerkprotokol geassosieer word. Die volledige lys protokolle is beskikbaar by /etc/protocols, maar die belangrikstes is udp en tcp.
- - r vertoon die roeteringtabel, wat wys hoe pakkies deur die netwerk geroer word.
- - s wys die netwerkstatistieke vir alle protokolle, of die protokolle aktief is of nie.
- - v verhoog breedsprakigheid, spesifiek deur 'n kolom by te voeg wat die proses-ID (PID) wys wat met elke oop poort geassosieer word.
Netstat-voorbeelde
Beskou hierdie voorbeelde:
netstat -apv TCP
Hierdie opdrag gee slegs TCP-verbindings op jou Mac terug, insluitend oop poorte en aktiewe poorte. Dit gebruik ook verbose uitvoer, wat die PID's wat met elke verbinding geassosieer word, lys.
netstat -a | grep -ek "luister"
Hierdie kombinasie van netstat en grep openbaar oop poorte, wat poorte is wat na 'n boodskap luister. Die pypkarakter | stuur die uitvoer van een opdrag na 'n ander opdrag. Hier, die uitset van netstat pype na grep, sodat jy dit vir die sleutelwoord "luister" kan soek en die resultate vind.
Toegang tot Netstat deur Network Utility
Jy kan ook toegang tot sommige van netstat se funksionaliteit kry deur die Network Utility-toepassing, wat by macOS-weergawes tot by Catalina ingesluit is (dit is nie by Big Sur ingesluit nie).
Om by Network Utility te kom, tik Network Utility in Spotlight Search om die toepassing te begin, en kies dan die Netstat-oortjie om toegang te verkry tot die grafiese koppelvlak.
Opsies binne Network Utility is meer beperk as dié wat beskikbaar is deur die opdragreël. Elkeen van die vier radioknoppiekeuses voer 'n voorafbepaalde netstat-opdrag uit en vertoon die uitvoer.
Die netstat-opdragte vir elke radioknoppie is soos volg:
- Vertoon roetetabelinligting loop netstat -r.
- Vertoon omvattende netwerkstatistieke vir elke protokol lopies netstat -s.
- Vertoon multiuitsending-inligting loop netstat -g.
- Vertoon die toestand van alle huidige sokverbindings loop netstat.
Voeg Netstat aan met Lsof
Die macOS-implementering van netstat bevat nie veel van die funksionaliteit wat gebruikers verwag en benodig nie. Alhoewel dit sy gebruike het, is netstat nie so nuttig op macOS soos op Windows nie. 'n Ander opdrag, lsof, vervang baie van die ontbrekende funksionaliteit.
Lsof wys lêers wat tans in toepassings oop is. U kan dit ook gebruik om oop poorte wat met toepassings verband hou, te inspekteer. Begin lsof -i om die lys van toepassings te sien wat oor die internet kommunikeer. Dit is tipies die doel wanneer netstat op Windows-masjiene gebruik word; die enigste sinvolle manier om daardie taak op macOS te verrig, is egter nie met netstat nie, maar met lsof.
Lsof vlae en opsies
Die vertoon van elke oop lêer of internetverbinding is tipies breedvoerig. Daarom kom lsof met vlae om resultate met spesifieke kriteria te beperk. Die belangrikstes is hieronder.
Vir inligting oor meer vlae en tegniese verduidelikings van elkeen, kyk na lsof se man-bladsy of hardloop man lsof by 'n Terminal-porboodskap.
- - i vertoon oop netwerkverbindings en die naam van die proses wat die verbinding gebruik. Die byvoeging van 'n 4, soos in - i4, wys slegs IPv4-verbindings. Die byvoeging van 'n 6 in plaas daarvan (- i6), wys net IPv6-verbindings.
- Die - i vlag kan ook uitgebrei word om verdere besonderhede te spesifiseer. -iTCP of -iUDP gee slegs TCP- en UDP-verbindings terug. -iTCP:25 gee slegs TCP-verbindings op poort 25 terug. 'n Reeks poorte kan met 'n streep gespesifiseer word, aangesien dit -iTCP:25-50.
- Using [email protected] gee slegs verbindings terug na die IPv4-adres 1.2.3.4. IPv6-adresse kan op dieselfde manier gespesifiseer word. Die @-voorloper kan ook gebruik word om gasheername op dieselfde manier te spesifiseer, maar beide afgeleë IP-adresse en gasheername kan nie gelyktydig gebruik word nie.
- - s dwing lsof tipies om lêergrootte te vertoon. Maar wanneer dit met die - i vlag gepaard word, werk - s anders. In plaas daarvan laat dit die gebruiker toe om die protokol en status te spesifiseer vir die opdrag om terug te keer.
- - p beperk lsof tot 'n spesifieke proses-ID (PID). Veelvuldige PID's kan gestel word deur gebruik te maak van commons, soos -p 123, 456, 789. Proses-ID's kan ook uitgesluit word met 'n ^, soos in 123, ^456, wat spesifiek PID 456 sal uitsluit.
- - P deaktiveer die omskakeling van poortnommers na poortname, wat uitset versnel.
- - n deaktiveer die omskakeling van netwerknommers na gasheername. Wanneer dit saam met - P hierbo gebruik word, kan dit lsof se uitset aansienlik versnel.
- - u gebruiker gee slegs opdragte wat deur die genoemde gebruiker besit word.
lsof Voorbeelde
Hier is 'n paar maniere om lsof te gebruik.
lsof -nP [email protected]:513
Hierdie ingewikkelde opdrag gee 'n lys van die TCP-verbindings met die gasheernaam lsof.itap en die poort 513. Dit loop ook lsof sonder koppel name aan IP-adresse en poorte, wat die opdrag merkbaar vinniger laat loop.
lsof -iTCP -sTCP:LUISTER
Hierdie opdrag gee elke TCP-verbinding terug met die status LISTEN, wat die oop TCP-poorte op die Mac openbaar. Dit lys ook die prosesse wat verband hou met daardie oop poorte. Dit is 'n beduidende opgradering bo netstat, wat hoogstens PID's lys.
sudo lsof -i -u^$(whoami)
Ander netwerkopdragte
Ander terminale netwerkopdragte wat dalk van belang kan wees om jou netwerk te ondersoek, sluit in arp, ping en ipconfig.