Skip to main content

Com s'utilitza el comandament de Netstat a Mac

Anonim

L'ordre netstat a MacOS és una ordre de Terminal utilitzada per mostrar informació detallada sobre les comunicacions de xarxa de Mac. Les comunicacions de xarxa inclouen totes les maneres que el Mac fa referència al món exterior, a tots els ports i a totes les aplicacions. Després de dominar netstat, els usuaris de Mac poden comprendre ràpidament les connexions que fa la computadora i per què.

S'està executant Netstat

L'ordre netstat està disponible a Mac per defecte. No necessita ser descarregat o instal·lat.

Per executar netstat, obriu una finestra de Terminal. Si no coneixeu la Terminal, es troba a /Applications/Utilities/Terminal.app. Escriviu netstat i premeu Enter per executar la comanda.

Notaràs que una gran quantitat de textos críptics començaran a desplaçar-vos per la pantalla. Això és normal i esperable. Sense opcions addicionals, netstat informarà totes les connexions de xarxa activa a la vostra Mac. Tenint en compte la quantitat de funcions que realitza un dispositiu de xarxa actual, podeu esperar que la llista sigui llarga. Un informe estàndard de netstat pot funcionar amb més de 1000 línies.

Filtrar la sortida de netstat és essencial per entendre què passa en els ports actius de Mac. Podeu filtrar la sortida de netstat amb els indicadors integrats. Aquestes banderes us permeten configurar opcions, limitant l'abast i la sortida de netstat.

Netstat Banderes i Opcions

Per veure totes les opcions disponibles de netstat, escriviu home netstat al símbol del sistema. Això mostrarà la pàgina de l'home de netstat. També podeu veure una versió en línia de la pàgina d'home de netstat.

netstat -AabdgiLlmnqrRsSvWx -c cua -f adreça_família -I interfície -p protocol -w espera

Netstat a macOS no funciona de la mateixa manera que netstat a Windows o netstat a Linux. L'ús de banderes o la sintaxi d'aquestes implementacions de netstat pot no resultar en el comportament esperat.

Consell: Si la taquigrafia de dalt sembla completament incomprensible, aprèn a llegir la sintaxi de comandaments.

-r mostra la taula d'enrutament, mostrant com s'envien els paquets a la xarxa.

-p protocol llista el trànsit associat a un protocol de xarxa específic. Tot i que la llista completa de protocols es pot trobar a / etc / protocols, els més importants són udp i tcp.

-v augmenta la verbositat, específicament afegint una columna que mostra l'ID del procés (PID) associat a cada port obert.

-I interfície proporciona dades de paquets per a la interfície especificada. Totes les interfícies disponibles es poden veure amb la bandera -i, però en0 normalment és la interfície de xarxa sortint per defecte. Tingueu en compte la lletra minúscula.

-g mostra informació associada a connexions multidifusió.

-s mostra les estadístiques de la xarxa de tots els protocols, ja siguin actius o no.

-n suprimeix l'etiqueta d'adreces remotes amb noms. Això augmenta dramàticament el rendiment de netstat mentre sacrifique només informació limitada.

-a inclou ports del servidor a la sortida de netstat, que no s'inclouen a la sortida predeterminada.

Exemples de Netstat

Per posar en pràctica la nostra comprensió, vegem alguns exemples de netstat.

netstat -apv TCP

Aquesta ordre només retornarà les connexions TCP a la vostra Mac, inclosos els ports oberts i els ports actius. També s'utilitzarà una sortida detallada, que inclourà els PID associats a cada connexió.

netstat -a | grep -i "escoltar"

Aquesta combinació de netstat i grep revelarà ports oberts a la vostra Mac. Els ports oberts són ports que escolten un missatge. Si no coneixeu la sintaxi, el caràcter de canalització | s'utilitza per enviar la sortida d'un comandament a un altre comandament. Fem la sortida de netstat a grep, que ens permet cercar-lo per la paraula clau "escoltar" i trobar els nostres resultats.

Accés a netstat a través d'utilitat de xarxa

A més de l'ús complet a través de la interfície de la línia de comandaments del Terminal, algunes de les funcionalitats de netstat també són accessibles a través de l'aplicació Network Utility. Aquesta aplicació MacOS incorporada es pot trobar a / Applications / Utilities / Network Utility.app. Obriu l'aplicació i feu clic al botó Netstat pestaña per accedir a la interfície gràfica de netstat.

Les opcions dins de la utilitat de xarxa són, clarament, molt més limitades que les disponibles a través de la línia d'ordres. Les quatre opcions del botó d'opció simplement executeu una ordre predeterminada de netstat i mostreu la sortida a la pantalla següent.

Les ordres de netstat per a cada botó de ràdio són les següents:

  • Mostra la informació de la taula d'enrutament Executa netstat -r
  • Mostra estadístiques globals de xarxa per a cada protocol executa netstat -s
  • Mostra informació multidifusió Executa netstat -g
  • Mostra l'estat de totes les connexions de sòcol actuals corre netstat

Suplementar netstat amb lsof

El fet és que la implementació de macOS de netstat no inclou molta de la funcionalitat que els usuaris esperen i necessiten. Tot i que té els seus usos, netstat no és tan útil a macOS com a Windows. Un comandament diferent, lsof, pot reemplaçar la gran part de la funcionalitat que falten.

ja que mostra qualsevol fitxer obert actualment per qualsevol aplicació. Això també es pot utilitzar per inspeccionar els ports oberts associats amb les aplicacions. Executeu lsof -i, i veureu una llista de totes les aplicacions que es comuniquen a través d'Internet. Normalment, aquesta és l'objectiu quan s'utilitza netstat en màquines Windows. Tanmateix, l'única manera significativa d'aconseguir aquesta tasca a macOS no és amb netstat, però amb lsof.

La visualització de tots els fitxers o de connexió a internet solen ser aclaparantment detallats.Per això, lsof inclou diverses banderes per restringir resultats amb criteris específics. Hi ha molts indicadors útils que amplien la utilitat de la comanda. Els més importants són els següents. Per a una lectura addicional, incloent més indicacions i explicacions tècniques de la implementació de cada bandera, consulteu la pàgina de l'home de lsof o executeu-la home lsof en un indicador del terminal.

senyals de banderes i opcions

-i mostra totes les connexions de xarxa oberta i el nom del procés que utilitza la connexió. S'està afegint un 4, com a -i4, mostrarà només connexions IPv4. S'està afegint un 6 en lloc (-i6) mostrarà només connexions IPv6.

El -i La bandera també es pot ampliar per especificar més detalls. -iTCP o -iUDP només retornarà les connexions TCP i UDP. -iTCP: 25 només retornarà les connexions TCP al port 25. Es pot especificar un rang de ports amb un tauler, ja que-iTCP: 25-50.

L'ús de [email protected] retornarà només les connexions a l'adreça IPv4 1.2.3.4. Les adreces IPv6 es poden especificar de la mateixa manera. El precursor @ també es pot utilitzar per especificar noms d'amfitrió de la mateixa manera, però les dues adreces IP remotes i els noms d'amfitrió no es poden utilitzar simultàniament.

-s Normalment obliga a mostrar la mida del fitxer. Però quan es combina amb el -i bandera, -s funciona de manera diferent. En el seu lloc, permet que l'usuari especifiqui el protocol i l'estat del comandament per tornar.

-p es limita a un ID de procés en particular (PID). Es poden establir múltiples PID utilitzant comuns, com ara -p 123.456.789. Els identificadors de processos també es poden excloure amb ^, com en 123, ^ 456, que exclourien específicament PID 456.

-P desactiva la conversió dels nombres de ports als noms dels ports, accelerant la sortida.

-n desactiva la conversió de nombres de xarxa als noms d'amfitrió. Quan s'utilitza amb -P A dalt, pot accelerar considerablement la producció de lsof.

-u usuari només retorna ordres propietat de l'usuari amb nom.

per exemple

Com ara netstat, veure alguns exemples de lsof ajudarà a practicar la nostra comprensió.

lsof -nP -iTCP @ lsof.itap: 513

Aquesta ordre de cerca complexa mostrarà totes les connexions TCP amb el nom de l'amfitrió lsof.itap i el port 513. També funcionarà sense tenir que connectar noms a adreces IP i ports, fent que l'ordre funcioni notablement més ràpid.

lsof -iTCP -sTCP: escolteu

Això retornarà totes les connexions TCP amb l'estat ESCRIURE. Això revela tots els ports TCP oberts a la vostra Mac. També enumera els processos associats a aquells ports oberts. Aquesta és una actualització important sobre netstat, que inclou les PID com a màxim.

sudo lsof -i -u ^ $ (whoami)

Retorna totes les connexions no propietat de l'usuari que ja ha iniciat la sessió. Aquesta ordre és una mica diferent de la resta, de manera que la descompondrem detalladament.

El cursor ^ s'utilitza per a la negació. Qualsevol cosa que coincideixi amb el text després del cursor es retirarà dels resultats. Obtenim el nom de l'usuari que ha iniciat la sessió en execució Qui sóc dins de l'ordre lsof, envoltat per $() per permetre que accedeixi a la seva sortida com a text. Córrer amb sudo us permet veure tasques que no són propietat vostra. Si executeu aquesta ordre sense sudo retornarà una llista buida.

Altres ordres de xarxa

Altres comandaments de la xarxa del terminal que poden ser d'interès per examinar la vostra xarxa inclouen arp, ping i ipconfig.