Cómo usar el comando Netstat en Mac

Qué saber

  • Para ejecutar netstat y ver datos detallados sobre la red de su Mac, abra un nuevo Terminal ventana, tipo netstaty presione Ingresar.
  • Limite la salida de netstat con banderas y opciones. Para ver las opciones disponibles de netstat, escriba hombre netstat en el símbolo del sistema.
  • Utilizar el lsof comando para compensar la funcionalidad limitada o faltante de netstat, incluida la visualización de los archivos abiertos actualmente en cualquier aplicación.

Este artículo explica cómo ejecutar netstat Comando terminal en macOS para que pueda ver información detallada sobre las comunicaciones de red de su Mac, incluidas las formas en que su Mac se comunica con el mundo exterior, en todos los puertos y todas las aplicaciones.

Cómo ejecutar Netstat

Aprender a usar netstat puede ayudarlo a comprender las conexiones que hace su computadora y por qué. El comando netstat está disponible en Mac de forma predeterminada. No es necesario descargarlo ni instalarlo.

Para ejecutar netstat:

  1. Ir a Descubridor > Ir > Utilidades.

    Menú Ir del Finder con Utilidades resaltadas
  2. Haga doble clic Terminal.

    Carpeta de utilidades con Terminal resaltada
  3. En la nueva ventana de Terminal, escriba netstat y presione Regreso (o Ingresar) para ejecutar el comando.

    Ventana de terminal con el comando netstat resaltado
  4. Una gran cantidad de texto comenzará a desplazarse en su pantalla. Si no usa ninguno de los indicadores disponibles (ver más abajo), netstat informa las conexiones de red activas en su Mac. Teniendo en cuenta la cantidad de funciones que realiza un dispositivo de red moderno, puede esperar que la lista sea extensa. Un informe estándar puede ejecutar más de 1000 líneas.

    Un informe de netstat extenso en una ventana de Terminal

Opciones y banderas de Netstat

Filtrar la salida de netstat es esencial para comprender lo que sucede en los puertos activos de su Mac. Los indicadores integrados de Netstat le permiten establecer opciones, lo que limita el alcance del comando.

Para ver todas las opciones disponibles de netstat, escriba hombre netstat en el símbolo del sistema para revelar la página man de netstat (abreviatura de "manual"). También puede ver una versión en línea de la página de manual de netstat.

Sintaxis

Es importante tener en cuenta que netstat en macOS no funciona de la misma manera que netstat en Windows y Linux. El uso de indicadores o sintaxis de esas implementaciones de netstat puede no dar como resultado el comportamiento esperado.

Para agregar indicadores y opciones a netstat en macOS, use la siguiente sintaxis:

netstat [-AabdgiLlmnqrRsSvWx] [-c cola] [-f dirección_familia] [-I interfaz] [-p protocolo] [-w espera]

Si la taquigrafía anterior parece completamente incomprensible, aprenda cómo leer la sintaxis de los comandos.

Banderas útiles

Estas son algunas de las banderas más utilizadas:

  • -a incluye puertos de servidor en la salida de netstat, que no se incluyen en la salida predeterminada.
  • -gramo muestra información asociada con las conexiones de multidifusión.
  • -Iinterfaz proporciona datos en paquetes para la interfaz especificada. Todas las interfaces disponibles se pueden ver con el -I bandera, pero en0 suele ser la interfaz de red saliente predeterminada. (Tenga en cuenta la letra minúscula).
  • -norte suprime la etiqueta de direcciones remotas con nombres. Esto acelera la salida de netstat al tiempo que elimina solo información limitada.
  • -pagprotocolo enumera el tráfico asociado con un protocolo de red. La lista completa de protocolos está disponible en /etc/protocols, pero los más importantes son udp y tcp.
  • -r muestra el tabla de ruteo, mostrando como paquetes están encaminado alrededor de la red.
  • -s muestra las estadísticas de la red para todos los protocolos, estén o no activos los protocolos.
  • -v aumenta la verbosidad, específicamente al agregar una columna que muestra el ID de proceso (PID) asociado con cada puerto abierto.

Ejemplos de Netstat

Considere estos ejemplos:

netstat -apv TCP

Este comando devuelve solo conexiones TCP en su Mac, incluidos los puertos abiertos y los puertos activos. También utiliza una salida detallada, que enumera los PID asociados con cada conexión.

netstat -a | grep -i "escuchar"

Esta combinación de netstat y grep revela puertos abiertos, que son puertos que están escuchando un mensaje. El personaje de la pipa | envía la salida de un comando a otro comando. Aquí, la salida de netstat tuberías a grep, lo que le permite buscar la palabra clave "escuchar" y encontrar los resultados.

Acceso a Netstat a través de la utilidad de red

También puede acceder a algunas de las funciones de netstat a través de la aplicación Network Utility, que se incluye en las versiones de macOS hasta Catalina (no se incluye en Big Sur).

Para llegar a Network Utility, escriba Utilidad de red en Spotlight Search para iniciar la aplicación, luego seleccione el Netstat pestaña para acceder a la interfaz gráfica.

La pestaña Netstat en Network Utility

Las opciones dentro de Network Utility son más limitadas que las disponibles a través de la línea de comandos. Cada una de las cuatro selecciones de botones de radio ejecuta un comando netstat preestablecido y muestra la salida.

Los comandos de netstat para cada botón de opción son los siguientes:

  • Mostrar información de la tabla de enrutamiento carreras netstat -r.
  • Muestra estadísticas de red completas para cada protocolo carreras netstat -s.
  • Mostrar información de multidifusión carreras netstat -g.
  • Muestra el estado de todas las conexiones de enchufe actuales carreras netstat.
Utilidad de red Netstat

Complementando Netstat con Lsof

La implementación macOS de netstat no incluye muchas de las funciones que los usuarios esperan y necesitan. Aunque tiene sus usos, netstat no es tan útil en macOS como en Windows. Un comando diferente lsof, reemplaza gran parte de la funcionalidad faltante.

Lsof muestra los archivos abiertos actualmente en las aplicaciones. También puede usarlo para inspeccionar los puertos abiertos asociados a la aplicación. Correr lsof -i para ver la lista de aplicaciones que se comunican a través de Internet. Este suele ser el objetivo cuando se usa netstat en máquinas con Windows; sin embargo, la única forma significativa de realizar esa tarea en macOS no es con netstat, sino con lsof.

Salida Lsof

Opciones y banderas de Lsof

La visualización de cada archivo abierto o conexión a Internet suele ser detallada. Es por eso que lsof viene con banderas para restringir resultados con criterios específicos. Los más importantes se encuentran a continuación.

Para obtener información sobre más banderas y explicaciones técnicas de cada una, consulte página de manual de lsof o corre hombre lsof en un indicador de Terminal.

  • -I muestra las conexiones de red abiertas y el nombre del proceso que está utilizando la conexión. Añadiendo un 4, como en -i4, solo muestra Conexiones IPv4. Añadiendo un 6 en lugar de (-i6) solo muestra Conexiones IPv6.
  • los -I La bandera también se puede expandir para especificar más detalles. -iTCP o -iUDP devuelve solo conexiones TCP y UDP. -iTCP: 25 devuelve solo conexiones TCP en el puerto 25. Se puede especificar un rango de puertos con un guión, como -iTCP: 25-50.
  • El uso de [email protected] devuelve solo las conexiones a la dirección IPv4 1.2.3.4. Las direcciones IPv6 se pueden especificar de la misma forma. El precursor @ también se puede usar para especificar nombres de host de la misma manera, pero tanto remotos Direcciones IP y los nombres de host no se pueden utilizar simultáneamente.
  • -s normalmente obliga a lsof a mostrar el tamaño del archivo. Pero cuando se combina con el -I bandera, -s funciona de manera diferente. En cambio, permite al usuario especificar el protocolo y el estado para que regrese el comando.
  • -pag restringe lsof a un ID de proceso en particular (PID). Se pueden configurar varios PID mediante el uso de comunes, como -p 123,456,789. Los ID de proceso también se pueden excluir con un ^, como en 123, ^ 456, que excluiría específicamente el PID 456.
  • -PAG desactiva la conversión de números de puerto a nombres de puerto, lo que acelera la salida.
  • -norte desactiva la conversión de números de red a nombres de host. Cuando se usa con -PAG arriba, puede acelerar significativamente la salida de lsof.
  • -tu usuario solo devuelve comandos propiedad del usuario designado.

lsof Ejemplos

A continuación, se muestran algunas formas de utilizar lsof.

lsof -nP [email protected]: 513

Este comando de aspecto complejo enumera las conexiones TCP con el nombre de host lsof.itap y el puerto 513. También ejecuta lsof sin conectar nombres a direcciones IP y puertos, lo que hace que el comando se ejecute notablemente más rápido.

lsof -iTCP -sTCP: ESCUCHAR

Este comando devuelve cada conexión TCP con el estado ESCUCHA, revelando los puertos TCP abiertos en Mac. También enumera los procesos asociados con esos puertos abiertos. Esta es una mejora significativa sobre netstat, que enumera los PID como máximo.

Comando Lsof listen

sudo lsof -i -u ^ $ (whoami)

Comando Whoami en la Terminal

Otros comandos de red

Otros comandos de red de Terminal que pueden ser de interés para examinar su red incluyen arpa, silbido, y ipconfig.