Buscando un comando para mostrar el uso de la red en macOS

1

ifconfig puede usarse en linux para verificar los bytes transferidos a la red en cada interfaz, como a continuación:

eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:05  
          inet addr:172.17.0.5  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20782 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:28527924 (28.5 MB)  TX bytes:1386216 (1.3 MB)

los bytes RX y los bytes TX muestran los datos actuales transferidos en la interfaz eth0 . Sin embargo, el ifconfig en Mac no muestra esta información para mí.

¿Hay un comando equivalente en Mac? Estoy buscando un comando nativo sin instalar una biblioteca de terceros.

    
pregunta Zhao Yi 05.02.2018 - 03:38

1 respuesta

2

Absolutamente hay.
Iba a sugerir la alternativa de la GUI, a través de la pestaña de información Network Utility o la Option + Click en el ícono de WiFi en la barra de menú para mostrar las estadísticas actuales. Un conjunto de pasos fáciles de seguir que están bien documentados en este artículo .

Sin embargo, está solicitando un "comando nativo" y, por lo tanto, está interesado en lo siguiente:

  • Comando: netstat -i : contiene Incoming y Outgoing Paquetes (solo otro nombre para RX y TX ). De manera predeterminada, cada interfaz devuelve sus datos, pero puede restringirlos fácilmente usando netstat -i | grep en0 .
  • El comando: netstat -I en1 (note el indicador -I de capital) producirá una salida solo para esa interfaz especificada (aquí, en0 ). Este es un enfoque más directo que no requiere filtros adicionales, como la operación grep anterior.

Hazme saber si tienes éxito con alguna combinación de lo anterior, o si hay algo que no entiendas o no quieras refinar.

Explicación adicional
En un comentario, menciona ver tres líneas de resultados al consultar la interfaz usando netstat -I , y pregunta cómo manejar esos datos. Todos son los mismos valores porque están vinculados a la misma interfaz, lee solo una línea (generalmente la primera) y no los agrega todos como sugirió.

¿Por qué?
En la salida del terminal, esas 3 líneas se refieren a la misma interfaz porque están asociadas varias direcciones. En términos sencillos, es muy parecido a tener varios números de teléfono que reenvían sus llamadas a su teléfono celular en lugar de que suenen en su ubicación física.

En mi caso (en un iMac, al consultar en1 ), la columna Dirección de la primera línea muestra la dirección MAC de mi tarjeta de red (Ethernet). A lo que generalmente se le conoce como la más confiable de las tres entradas porque está codificada y es exclusiva de la propia tarjeta de red (por lo tanto, no cambiará a menos que se reemplace la unidad física). La segunda línea está asociada (al menos en mi caso) con un IPv6, mientras que la tercera es una dirección IPv4. Estos son susceptibles de cambiar dependiendo de su configuración de red y ubicación. Es por eso que la primera línea suele ser la más confiable de todas. Piense en la línea 1 como su teléfono celular al cual las líneas 2 y 3 están reenviando las llamadas; también es la única entrada con registro de error ( Ierrs y Oerrs ).

¿Por qué solo se registran los errores allí?
Bueno, considérelo como una referencia / acceso directo directo, si eso es todo lo que son (conexiones lógicas), no existen físicamente; la única interfaz física es donde reside la dirección MAC y, por lo tanto, es la única ubicación para que se verifiquen los paquetes y se produzca un error. informes a tener lugar.

Realmente espero que tenga sentido, sé que estabas justo después del procedimiento en la parte superior, pero pensé que un poco de explicación no dolería. ¿Es útil de alguna manera?

    
respondido por el ProGrammer 05.02.2018 - 07:40

Lea otras preguntas en las etiquetas