Cum să utilizați comanda Netstat pe Mac

Ce să știi

  • Pentru a rula netstat și a vedea date detaliate despre rețeaua Mac-ului dvs., deschideți o nouă Terminal fereastra, tastați netstat, și apăsați introduce.
  • Limitați ieșirea netstat cu steaguri și opțiuni. Pentru a vedea opțiunile disponibile netstat, tastați man netstat la promptul de comandă.
  • Folosește comanda lsof pentru a compensa funcționalitatea lipsă sau limitată a netstat, inclusiv afișarea oricăror fișiere deschise în prezent în orice aplicație.

Acest articol explică cum să rulați netstat Comanda terminalului în macOS, astfel încât să puteți vedea informații detaliate despre comunicațiile de rețea ale Mac-ului dvs., inclusiv modurile în care Mac-ul dvs. vorbește cu lumea exterioară, prin toate porturile și toate aplicațiile.

Cum să rulați Netstat

Învățarea cum să utilizați netstat vă poate ajuta să înțelegeți conexiunile pe care le face computerul dvs. și de ce. Comanda netstat este disponibilă implicit pe Mac-uri. Nu trebuie să îl descărcați sau să îl instalați.

Pentru a rula netstat:

  1. Mergi la Finder > Merge > Utilități.

    Meniul Go din Finder cu Utilitare evidențiate
  2. Dublu click Terminal.

    Dosarul Utilități cu Terminalul evidențiat
  3. În noua fereastră Terminal, tastați netstat și apăsați Întoarcere (sau introduce) pentru a executa comanda.

    Fereastra terminalului cu comanda netstat evidențiată
  4. O cantitate imensă de text va începe să defileze pe ecran. Dacă nu utilizați niciunul dintre semnalizatoarele disponibile (vezi mai jos), netstat raportează conexiunile de rețea active pe Mac. Având în vedere numărul de funcții pe care le îndeplinește un dispozitiv modern de rețea, vă puteți aștepta ca lista să fie lungă. Un raport standard poate rula peste 1.000 de linii.

    Un raport netstat lung într-o fereastră Terminal

Steaguri și opțiuni Netstat

Filtrarea rezultatului netstat este esențială pentru a înțelege ce se întâmplă pe porturile active ale Mac-ului dvs. Indicatoarele încorporate ale Netstat vă permit să setați opțiuni, limitând domeniul de aplicare al comenzii.

Pentru a vedea toate opțiunile disponibile netstat, tastați man netstat la linia de comandă pentru a dezvălui pagina man a lui netstat (prescurtare de la „manual”). De asemenea, puteți vizualiza un versiunea online a paginii de manual netstat.

Sintaxă

Este important să rețineți că netstat pe macOS nu funcționează la fel ca netstat pe Windows și Linux. Utilizarea steagurilor sau a sintaxei din acele implementări ale netstat poate să nu aibă ca rezultat comportamentul așteptat.

Pentru a adăuga steaguri și opțiuni la netstat pe macOS, utilizați următoarea sintaxă:

netstat [-AabdgiLlmnqrRsSvWx] [-c coada] [-f adresa_familie] [-I interfață] [-p protocol] [-w așteptați]

Dacă stenograma de mai sus pare complet de neînțeles, învață cum se citește sintaxa comenzii.

Steaguri utile

Iată câteva dintre cele mai frecvent utilizate steaguri:

  • -A include porturi de server în ieșirea netstat, care nu sunt incluse în ieșirea implicită.
  • -g afișează informații asociate conexiunilor multicast.
  • -Euinterfata oferă pachete de date pentru interfața specificată. Toate interfețele disponibile pot fi vizualizate cu -i steag, dar en0 este de obicei interfața de rețea de ieșire implicită. (Rețineți litera mică.)
  • -n suprimă eticheta adreselor de la distanță cu nume. Acest lucru accelerează producția netstat, eliminând în același timp doar informații limitate.
  • -pprotocol listează traficul asociat cu un anumit protocol de rețea. Lista completă a protocoalelor este disponibilă la /etc/protocols, dar cele mai importante sunt udp și tcp.
  • -r afișează tabel de rutare, arătând cum pachete sunt dirijate în jurul rețelei.
  • -s arată statisticile de rețea pentru toate protocoalele, indiferent dacă protocoalele sunt active sau nu.
  • -v crește gradul de verbozitate, în special prin adăugarea unei coloane care arată ID-ul procesului (PID) asociat fiecărui port deschis.

Exemple Netstat

Luați în considerare aceste exemple:

netstat -apv TCP

Această comandă returnează numai conexiuni TCP pe Mac, inclusiv porturi deschise și porturi active. De asemenea, folosește o ieșire verbosă, listând PID-urile asociate fiecărei conexiuni.

netstat -a | grep -i "ascultă"

Această combinație de netstat și grep dezvăluie porturi deschise, care sunt porturi care ascultă un mesaj. Personajul conductei | trimite rezultatul unei comenzi către o altă comandă. Aici, ieșirea de netstat conducte spre grep, permițându-vă să căutați cuvântul cheie „ascultați” și să găsiți rezultatele.

Accesarea Netstat prin utilitarul de rețea

De asemenea, puteți accesa unele dintre funcționalitățile netstat prin aplicația Network Utility, care este inclusă în versiunile macOS până la Catalina (nu este inclusă în Big Sur).

Pentru a ajunge la Network Utility, tastați Utilitar de rețea în Spotlight Search pentru a lansa aplicația, apoi selectați Netstat pentru a accesa interfața grafică.

Fila Netstat din Network Utility

Opțiunile din Network Utility sunt mai limitate decât cele disponibile prin linia de comandă. Fiecare dintre cele patru selecții de butoane radio rulează o comandă netstat prestabilită și afișează rezultatul.

Comenzile netstat pentru fiecare buton radio sunt după cum urmează:

  • Afișează informațiile din tabelul de rutare aleargă netstat -r.
  • Afișați statistici complete de rețea pentru fiecare protocol aleargă netstat -s.
  • Afișează informații multicast aleargă netstat -g.
  • Afișează starea tuturor conexiunilor de priză curente aleargă netstat.
Utilitar de rețea Netstat

Suplimentarea Netstat cu Lsof

Implementarea netstat pe macOS nu include multe dintre funcționalitățile pe care utilizatorii le așteaptă și de care au nevoie. Deși are utilizările sale, netstat nu este la fel de util pe macOS precum este pe Windows. O comandă diferită, lsof, înlocuiește o mare parte din funcționalitatea lipsă.

Lsof afișează fișierele deschise în prezent în aplicații. De asemenea, îl puteți folosi pentru a inspecta porturile deschise asociate aplicației. Alerga lsof -i pentru a vedea lista aplicațiilor care comunică prin internet. Acesta este de obicei obiectivul când utilizați netstat pe computere Windows; cu toate acestea, singura modalitate semnificativă de a îndeplini această sarcină pe macOS nu este cu netstat, ci cu lsof.

Lsof ieșire

Lsof steaguri și opțiuni

Afișarea fiecărui fișier deschis sau conexiune la internet este de obicei verbosă. De aceea, lsof vine cu steaguri pentru restricționarea rezultatelor cu criterii specifice. Cele mai importante sunt mai jos.

Pentru informații despre mai multe steaguri și explicații tehnice ale fiecăruia, consultați pagina de manual a lui lsof sau fugi om lsof la un prompt Terminal.

  • -i afișează conexiunile de rețea deschise și numele procesului care utilizează conexiunea. Adăugarea unui 4, ca în -i4, afișează numai conexiuni IPv4. Adăugarea unui 6 in schimb (-i6) se afișează numai conexiuni IPv6.
  • The -i flag poate fi, de asemenea, extins pentru a specifica detalii suplimentare. -iTCP sau -iUDP returnează numai conexiuni TCP și UDP. -iTCP: 25 returnează numai conexiuni TCP pe portul 25. O gamă de porturi poate fi specificată cu o liniuță, deoarece -iTCP: 25-50.
  • Utilizarea [email protected] returnează numai conexiuni la adresa IPv4 1.2.3.4. Adresele IPv6 pot fi specificate în același mod. Precursorul @ poate fi folosit și pentru a specifica numele de gazdă în același mod, dar ambele la distanță adrese IP iar numele de gazdă nu pot fi folosite simultan.
  • -s de obicei forțează lsof să afișeze dimensiunea fișierului. Dar atunci când este asociat cu -i steag, -s functioneaza diferit. În schimb, permite utilizatorului să specifice protocolul și starea pentru ca comanda să revină.
  • -p restricționează lsof la un anumit ID de proces (PID). PID-uri multiple pot fi setate utilizând elemente comune, cum ar fi -p 123,456,789. ID-urile de proces pot fi excluse și cu un ^, ca în 123,^456, care ar exclude în mod specific PID 456.
  • -P dezactivează conversia numerelor de porturi în nume de porturi, accelerând producția.
  • -n dezactivează conversia numerelor de rețea în nume de gazdă. Când este folosit cu -P mai sus, poate accelera semnificativ ieșirea lui lsof.
  • -u utilizator returnează numai comenzile deținute de utilizatorul numit.

lsof Exemple

Iată câteva moduri de a utiliza lsof.

lsof -nP [email protected]: 513

Această comandă cu aspect complex listează conexiunile TCP cu numele de gazdă lsof.itap si portul 513. De asemenea, rulează lsof fără a conecta numele la adrese IP și porturi, făcând comanda să ruleze vizibil mai rapid.

lsof -iTCP -sTCP: ASCULTĂ

Această comandă returnează fiecare conexiune TCP cu starea ASCULTA, dezvăluind porturile TCP deschise pe Mac. De asemenea, listează procesele asociate cu acele porturi deschise. Acesta este un upgrade semnificativ peste netstat, care listează PID-urile cel mult.

Lsof ascultă comanda

sudo lsof -i -u^$(whoami)

Comanda Whoami în Terminal

Alte comenzi de rețea

Alte comenzi de rețea Terminal care ar putea fi de interes pentru examinarea rețelei dvs. includ arp, ping, și ipconfig.