Buscando comando para mostrar el uso de la red en macOS

ifconfigse puede usar en Linux para verificar los bytes transferidos por la red en cada interfaz, como se muestra 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 eth0interfaz. Sin embargo, ifconfigen Mac no me muestra esta información.

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

Respuestas (1)

Absolutamente lo hay.
Iba a sugerir la alternativa de GUI, a través de la pestaña de información de la utilidad de red o el Option+ Clicken 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 Incomingy OutgoingPaquetes (sólo otro nombre para RXy TX). De forma predeterminada, cada interfaz devuelve sus datos, pero puede reducirlos fácilmente usando cualquiera de los dos netstat -i | grep en0.
  • Comando: netstat -I en1(tenga en cuenta la bandera mayúscula -I) producirá una salida solo para esa interfaz especificada (aquí, en0). Este es un enfoque más directo que no requiere más filtrado, como la grepoperación anterior.

Avíseme si tiene éxito con alguna combinación de las anteriores, o si hay algo que no entiende/quiere refinar.


Explicación adicional
En un comentario, menciona ver tres líneas de salida al consultar la interfaz usando netstat -Iy pregunta cómo manejar esos datos. Todos son los mismos valores porque se vinculan a la misma interfaz, leen solo una línea (generalmente la primera) y no los suman todos juntos como sugirió.

¿Por qué?
En la salida de la Terminal, esas 3 líneas se refieren a la misma interfaz porque tiene varias direcciones asociadas. En términos sencillos, es muy parecido a tener múltiples números de teléfono desviando sus llamadas a su teléfono celular en lugar de sonar en su ubicación física.

En mi caso (en un iMac, consultando en1), la columna Dirección de la primera línea muestra la dirección MAC de mi tarjeta de red (ethernet). Lo que generalmente se conoce como la más confiable de las tres entradas porque está codificado y es exclusivo de la tarjeta de red en sí (por lo tanto, no cambiará a menos que se reemplace la unidad física).
La segunda línea está (al menos en mi caso) asociada a una dirección IPv6, mientras que la tercera es una dirección IPv4. Estos son susceptibles de cambiar según la configuración y la ubicación de su red. 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 que las líneas 2 y 3 están reenviando las llamadas; también es la única entrada con registro de errores ( Ierrsy Oerrs).

¿Por qué los errores solo se registran allí?
Bueno, piénselo 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, la única ubicación para que los paquetes se verifiquen y se produzcan errores. presentación de informes.

Realmente espero que haya tenido sentido, sé que estabas justo después del procedimiento en la parte superior, pero pensé que una pequeña explicación no haría daño. ¿Es eso útil de alguna manera?

macOS no usa e,g, eth0o eth1, usa eg en0o en1, etc.
Veo las salidas de este comando Ipktsy Opkts. ¿Significan entrada y salida? No pude encontrar una explicación de su hombre.
Son paquetes entrantes (RX) y salientes (TX).
Quiero decir que la salida del comando no tiene RX o TX. solo tiene Ipkts y Opkts. ¿Quieres decir que estos dos son los que necesito mirar?
@ZhaoYi Correcto, debes mirar esos valores. Como mencioné anteriormente, Ipktses sinónimo de 'Paquetes entrantes' o RXwhile Opktses sinónimo de 'Paquetes salientes' o TX. ¿Eso responde a su pregunta o necesita más aclaraciones?
cuando ejecuto este comando en una interfaz de red, ` netstat -I en0 , it returns three lines output with different Network` pero los mismos valores de entrada y salida. ¿Solo leo uno de ellos o resumo los tres?
@ZhaoYi Consulte la adición a mi publicación, entra en un poco más de detalle y responde a su pregunta. Entonces déjame saber si tiene sentido para ti.
@ProGrammer Muchas gracias por su explicación detallada.
@ProGrammer ¿Conoce la unidad para Ipkts, byteo KB? Descargué un archivo grande de Internet, pero no parece que este valor haya cambiado demasiado.
@ZhaoYi Eso depende del valor en la columna MTU , por lo general se establece en 1500. Que yo sepa, representa el tamaño máximo de un paquete individual, ya que los paquetes difieren en tamaño y la MTU se ajusta por transmisión. , Es dificil de decir. Corríjame si me equivoco, pero creo que los tamaños entrantes y salientes se enumeran en bytes. A partir de ahí, puede hacer la conversión habitual a cualquier unidad que necesite.