Cómo usar el comando Netstat en Mac

Tabla de contenido:

Cómo usar el comando Netstat en Mac
Cómo usar el comando Netstat en Mac
Anonim

Qué saber

  • Para ejecutar netstat y ver datos detallados sobre la red de su Mac, abra una nueva ventana de Terminal, escriba netstat y presioneIntro.
  • Limite la salida de netstat con banderas y opciones. Para ver las opciones disponibles de netstat, escriba man netstat en el símbolo del sistema.
  • Utilice el comando lsof para compensar la funcionalidad limitada o f altante de netstat, incluida la visualización de los archivos actualmente abiertos en cualquier aplicación.

Este artículo explica cómo ejecutar el comando netstat 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 realiza su computadora y por qué. El comando netstat está disponible en Mac de forma predeterminada. No necesita descargarlo ni instalarlo.

Para ejecutar netstat:

  1. Ir a Buscador > Ir > Utilidades.

    Image
    Image
  2. Haga doble clic en Terminal.

    Image
    Image
  3. En la nueva ventana de Terminal, escriba netstat y presione Return (o Enter) para ejecutar el comando.

    Image
    Image
  4. Una gran cantidad de texto comenzará a desplazarse por la pantalla. Si no usa ninguna de las banderas disponibles (vea a continuación), 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 larga. Un informe estándar puede abarcar 1000 líneas.

    Image
    Image

Banderas y opciones de Netstat

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

Para ver todas las opciones disponibles de netstat, escriba man netstat en el símbolo del sistema para mostrar la página man (abreviatura de "manual") de netstat. 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 banderas o sintaxis de esas implementaciones de netstat puede no resultar en el comportamiento esperado.

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

netstat [-AabdgiLlmnqrRsSvWx] [-c cola] [-f familia_dirección] [-I interfaz] [-p protocolo] [-w espera]

Si la abreviatura anterior parece completamente incomprensible, aprenda a 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 están incluidos en la salida predeterminada.
  • - g muestra información asociada con conexiones de multidifusión.
  • La interfaz

  • - I proporciona paquetes de datos para la interfaz especificada. Todas las interfaces disponibles se pueden ver con el indicador - i, pero en0 suele ser la interfaz de red saliente predeterminada. (Observe la letra minúscula.)
  • - n suprime la etiqueta de direcciones remotas con nombres. Esto acelera la salida de netstat y elimina solo información limitada.
  • El protocolo

  • - p enumera el tráfico asociado con un protocolo de red específico. La lista completa de protocolos está disponible en /etc/protocols, pero los más importantes son udp y tcp.
  • - r muestra la tabla de enrutamiento, que muestra cómo se enrutan los paquetes por la red.
  • - s muestra las estadísticas de red para todos los protocolos, ya sea que los protocolos estén activos o no.
  • - 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 solo devuelve 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 carácter vertical | envía la salida de un comando a otro comando. Aquí, la salida de netstat se canaliza a grep, permitiéndole 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 acceder a Network Utility, escriba Network Utility en Spotlight Search para iniciar la aplicación, luego seleccione la pestaña Netstat para acceder a la interfaz gráfica.

Image
Image

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 selecciones de los cuatro 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 ejecuta netstat -r.
  • Mostrar estadísticas de red completas para cada protocolo ejecuta netstat -s.
  • Mostrar información de multidifusión ejecuta netstat -g.
  • Muestra el estado de todas las conexiones de socket actuales ejecuta netstat.
Image
Image

Complemento de Netstat con Lsof

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

Lsof muestra los archivos actualmente abiertos en las aplicaciones. También puede usarlo para inspeccionar los puertos abiertos asociados a la aplicación. Ejecute 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.

Image
Image

Lsof Banderas y Opciones

Mostrar cada archivo abierto o conexión a Internet suele ser detallado. 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 la página de manual de lsof o ejecute man lsof en un indicador de terminal.

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

lsofEjemplos

Aquí hay algunas formas de usar lsof.

[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 conectando nombres a direcciones IP y puertos, haciendo que el comando se ejecute notablemente más rápido.

lsof -iTCP -sTCP:ESCUCHAR

Este comando devuelve cada conexión TCP con el estado LISTEN, revelando los puertos TCP abiertos en la Mac. También enumera los procesos asociados con esos puertos abiertos. Esta es una actualización importante con respecto a netstat, que enumera los PID como máximo.

Image
Image

sudo lsof-i-u^$(whoami)

Image
Image

Otros comandos de red

Otros comandos de red de Terminal que pueden ser de interés para examinar su red incluyen arp, ping e ipconfig.

Recomendado: