Skip to main content

Cum se utilizează comanda Netstat pe Mac

Cum facem un user din CMD (comand prompt) (Mai 2024)

Cum facem un user din CMD (comand prompt) (Mai 2024)
Anonim

Comanda netstat pe macOS este o comandă Terminal utilizată pentru a afișa informații detaliate despre comunicațiile de rețea ale rețelei Mac. Comunicațiile în rețea includ toate modurile în care Mac-ul dvs. vorbește cu lumea exterioară, în toate porturile și în toate aplicațiile. După ce au stăpânit netstat, utilizatorii de Mac pot înțelege rapid conexiunile pe care le realizează computerul și de ce.

Rularea Netstat

Comanda netstat este disponibilă în mod implicit pe Mac. Nu trebuie să fie descărcat sau instalat.

Pentru a rula netstat, deschideți o fereastră Terminal. Dacă nu sunteți familiarizat cu Terminalul, acesta se află la /Aplicații/Utilities/Terminal.app. Tip netstat și apăsați Enter pentru a executa comanda.

Veți observa că o mare cantitate de text criptic va începe să deruleze pe ecran. Acest lucru este normal și așteptat. Fără alte opțiuni, netstat va raporta toate conexiunile active de rețea de pe Mac. Având în vedere numărul de funcții pe care le realizează un dispozitiv de rețea modern, vă puteți aștepta ca lista să fie lungă. Un raport netstat standard poate rula bine peste 1000 de linii.

Filtrarea rezultatului netstat este esențială pentru a înțelege ce se întâmplă pe porturile active Mac. Puteți filtra ieșirea lui netstat cu stegulețele încorporate. Aceste steaguri vă permit să setați opțiuni, limitând domeniul de aplicare și ieșirea netstat.

Fișiere și opțiuni Netstat

Pentru a vedea toate opțiunile disponibile ale netstat, tastați om netstat la promptul de comandă. Aceasta va dezvălui pagina omului lui netstat. De asemenea, puteți vizualiza o versiune online a paginii man netstat.

netstat -AabdgiLlmnqrRsSvWx -c coadă -f address_family -I interfață -p protocol -w aștepta

Netstat pe macOS nu funcționează la fel ca netstat pe Windows sau netstat pe Linux. Folosirea steagurilor sau a sintaxelor din acele implementări ale netstat nu poate duce la comportamentul așteptat.

Bacsis: Dacă stenograma de mai sus pare complet incomprehensibilă, învățați cum să citiți sintaxa de comandă.

-r afișează tabela de rutare, arătând modul în care pachetele sunt direcționate în jurul rețelei.

-p protocol listele de trafic asociate unui protocol specific de rețea. În timp ce lista completă a protocoalelor poate fi găsită la / etc / protocols, cele mai importante sunt udp și tcp.

-v crește viteza, mai ales prin adăugarea unei coloane care prezintă ID-ul procesului (PID) asociat fiecărui port deschis.

-I interfață furnizează pachete de date pentru interfața specificată. Toate interfețele disponibile pot fi vizualizate cu flagul -i, dar en0 este, de obicei, interfața implicită de rețea de ieșire. Rețineți litera mică.

-g afișează informații asociate conexiunilor multicast.

-s arată statisticile de rețea pentru toate protocoalele, indiferent dacă sunt sau nu active.

-N suprimă etichetarea adreselor la distanță cu nume. Acest lucru accelerează în mod dramatic producția netstat în timp ce sacrifică doar informații limitate.

-A include porturi server în ieșirea lui netstat, care nu sunt incluse în ieșirea implicită.

Exemple Netstat

Pentru a pune în practică înțelegerea noastră, să examinăm câteva exemple de netstat.

netstat -apv TCP

Această comandă va returna numai conexiunile TCP pe calculatorul dvs. Mac, inclusiv porturile deschise și porturile active. De asemenea, va utiliza o ieșire verbose, care va afișa PID-urile asociate fiecărei conexiuni.

netstat -a | grep -i "asculta"

Această combinație de netstat și grep va dezvălui porturile deschise pe Mac. Porturile deschise sunt porturi care ascultă un mesaj. Dacă nu sunteți familiarizat cu sintaxa, caracterul de țeavă | este folosit pentru a trimite ieșirea unei comenzi unei alte comenzi. Noi conducem producția de netstat la grep, permițându-ne să-l căutăm pentru cuvântul cheie "asculta" și să ne găsim rezultatele.

Accesarea netstat prin Network Utility

În plus față de utilizarea cu funcții complete prin interfața de linie de comandă Terminal, unele dintre funcțiile Netstat sunt de asemenea accesibile prin intermediul aplicației Network Utility. Această aplicație MacOS încorporată poate fi găsită la / Applications / Utilities / Network Utility.app. Deschideți aplicația și faceți clic pe netstat pentru a accesa interfața grafică pentru netstat.

Opțiunile din utilitarul de rețea sunt în mod clar mult mai limitate decât cele disponibile prin linia de comandă. Cele patru selecții ale butoanelor radio rulează pur și simplu o comandă netstat prestabilită și afișează ieșirea pe ecranul de mai jos.

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

  • Afișați informații privind tabelul de rutare rulează netstat -r
  • Afișați statistici complete de rețea pentru fiecare protocol execută netstat-uri
  • Afișați informații despre multicast rulează netstat -g
  • Afișați starea tuturor conexiunilor curente ale soclului rulează netstat

Suplimentarea netstat cu lsof

Faptul este că implementarea macstat a netstat nu include o mare parte a funcționalității așteptate și de care au nevoie utilizatorii. În timp ce are utilizările sale, netstat nu este la fel de util pentru MacOS ca și pe Windows. O comandă diferită, LSOF, poate înlocui o mare parte din funcționalitatea lipsă.

lsof afișează fișierele deschise în prezent de orice aplicație. Acest lucru poate fi, de asemenea, folosit pentru a inspecta porturile deschise asociate cu aplicațiile. Executați lsof -i și veți vedea o listă a tuturor aplicațiilor care comunică pe internet. Acesta este de obicei obiectivul atunci când se utilizează netstat pe mașinile Windows. Cu toate acestea, singura modalitate semnificativă de a realiza această sarcină pe macOS nu este cu netstat, ci cu lsof.

Afișarea fiecărui fișier deschis sau a conexiunii la internet este adesea copleșitor.Acesta este motivul pentru care LSOF vine cu o serie de steaguri pentru a limita rezultatele cu criterii specifice. Există multe steaguri utile care extind utilitatea comenzii. Cele mai importante sunt cele de mai jos. Pentru lectură suplimentară, inclusiv mai multe pavilioane și explicații tehnice privind implementarea fiecărui pavilion, verificați pagina manului lui lsof sau rulați om lsof la un prompt terminal.

Steaguri și opțiuni

-i afișează toate conexiunile de rețea deschise și numele procesului care utilizează conexiunea. Adăugarea unui 4, ca în -i4, va afișa numai conexiunile IPv4. Adăugând un loc în loc de 6 (-i6) va afișa numai conexiunile IPv6.

-i steagul poate fi, de asemenea, extins pentru a specifica mai multe detalii. -iTCP sau -iUDP va returna numai conexiunile TCP și UDP. -iTCP: 25 va returna numai conexiunile TCP pe portul 25. O gamă de porturi poate fi specificată cu o linie, așa cum este -iTCP: 25-50.

Folosind [email protected] se vor returna numai conexiunile la adresa IPv4 1.2.3.4. Adresele IPv6 pot fi specificate în același mod. Precursorul @ poate fi, de asemenea, utilizat pentru a specifica numele de gazdă în același mod, dar atât adresele IP la distanță, cât și numele de gazde nu pot fi utilizate simultan.

-s de obicei forțe lsof pentru a afișa dimensiunea fișierului. Dar când este asociat cu -i steag, -s funcționează diferit. În schimb, permite utilizatorului să specifice protocolul și starea pentru revenirea comenzii.

-p restricționează lsof la un anumit proces ID (PID). PID-urile multiple pot fi setate prin folosirea comunelor, cum ar fi -p 123,456,789. ID-urile proceselor pot fi de asemenea excluse cu un ^, ca în 123, ^ 456, care ar exclude în mod specific PID 456.

-P dezactivează conversia numerelor de porturi în numele porturilor, accelerarea ieșirii.

-N dezactivează conversia numerelor de rețea în numele gazdă. Când este folosit cu -P de mai sus, poate accelera semnificativ producția lui lsof.

-u utilizator doar returnează comenzi deținute de utilizatorul numit.

Sunt exemple

Ca și netstat, vedeți câteva exemple de lsof care vor ajuta la înțelegerea noastră.

lsof -nP [email protected]: 513

Această comandă complexă va arăta toate conexiunile TCP cu numele de gazdă lsof.itap și portul 513. Acesta va rula, de asemenea, lsof fără a conecta numele la adresele IP și porturi, făcând comanda alerga semnificativ mai repede.

lsof -iTCP -sTCP: LISTEN

Aceasta va returna fiecare conexiune TCP cu starea ASCULTA. Acest lucru dezvăluie toate porturile TCP deschise de pe Mac. De asemenea, enumeră procesele asociate cu acele porturi deschise. Acesta este un upgrade semnificativ față de netstat, care conține cel mult PID-uri.

sudo lsof -i-u ^ $ (cineami)

Returnează toate conexiunile nu deținută de utilizatorul conectat în prezent. Această comandă este puțin diferită de celelalte, așa că o vom rupe în detaliu.

Îngrijirea este folosită pentru negare. Orice text care se potrivește textului după ce a fost curățat va fi eliminat din rezultate. Obținem numele utilizatorului conectat în prezent prin difuzare cine sunt în interiorul comenzii lsof, înconjurată de $() pentru a permite lsof să acceseze ieșirea ca text. Rularea cu sudo vă permite să vedeți sarcini care nu aparțin de tine. Rularea acestei comenzi fără sudo va returna o listă goală.

Alte comenzi de rețea

Alte comenzi de rețea terminale care ar putea fi interesante în examinarea rețelei dvs. includ arp, ping și ipconfig.