Enumere todas las conexiones a Internet abiertas en una terminal Mac para realizar un seguimiento de los problemas de ancho de banda

Recientemente, la LAN de mi oficina era más lenta de lo habitual y no pude identificar qué estaba usando todo el ancho de banda adicional. Sospechaba que el culpable era el tráfico P2P, pero no pude ver nada obvio en el coche ofensivo. Entonces, la pregunta, por supuesto, es ¿cómo ve qué procesos se conectan a Internet o al mundo exterior desde Mac OS X?
Usando la herramienta de línea de comando lsof, podemos pasar el argumento -i para enumerar las conexiones de Internet activas y abiertas en nuestras computadoras y averiguar si algo extraño (o, en mi caso, algo oculto) está sucediendo y se está conectando a una dirección externa , y este comando también le mostrará cuál es el ID de proceso para la aplicación o tarea que se está ejecutando, para que podamos matarlo y detener la actividad si lo desea.
Muestra una lista de todas las conexiones a Internet abiertas en OS X en la línea de comando
Esto se debe ingresar desde la Terminal OS X, pero se puede usar de forma remota con SSH o localmente en una Mac.
Me conecté a la Mac ofensiva y escribí el siguiente comando:
lsof -i
No debe usar sudo, pero puede hacerlo, si lo desea o desea para su caso de uso específico.
La salida de Lsof está un poco ocupada, pero si está familiarizado con la línea de comandos, no debería ser demasiado loco.
Aquí hay un resultado de ejemplo mostrado por esta cadena de comando lsof -i:
MacMini:~ macuser$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
SystemUIS 93 macuser 6u IPv4 0x04db27bc 0t0 UDP *:*
SystemUIS 93 macuser 10u IPv4 0x04db26e0 0t0 UDP *:*
iChatAgen 111 macuser 6u IPv4 0x07084734 0t0 UDP localhost:49490->localhost:49490
iChatAgen 111 macuser 10u IPv4 0x05666f28 0t0 TCP 192.168.0.101:53762->bos-m012c-sdr6.blue.aol.com:aol (ESTABLISHED)
synergys 129 macuser 5u IPv4 0x05f2f6b0 0t0 TCP *:24800 (LISTEN)
Safari 148 macuser 10u IPv4 0x06db46e0 0t0 TCP 192.168.0.101:57557->host29.prod.google.com:http (CLOSE_WAIT)
iTunes 644 macuser 21u IPv4 0x05f2f2a4 0t0 TCP *:daap (LISTEN)

No hay nada inusual en la pantalla de salida de lsof anterior, pero en la solución de problemas de red antes mencionada, descubrí un cliente BitTorrent que se ejecutaba oculto en el fondo de una de mis Mac en la red y sembraba varios archivos grandes. Por supuesto, eliminé el cliente BitTorrent, eliminé la aplicación, eliminé los archivos y Mac LAN está funcionando a toda velocidad nuevamente.
Enumere solo las conexiones a Internet establecidas
Si solo desea mostrar las conexiones establecidas (es decir, se está comunicando activamente y se ha establecido un enlace entre la máquina local y una IP externa), puede usar esta variante de comando de la cadena lsof mencionada anteriormente:
lsof -i | grep -E "(LISTEN|ESTABLISHED)"
Puede combinar esto con «reloj» para obtener una lista actualizada automáticamente de las conexiones establecidas.
Y si conoce el nombre del proceso, siempre puede usar grep para ese nombre específico o vago.
Esto es un poco avanzado, pero funciona bastante bien para los usuarios de Mac que se sienten cómodos con la terminal y la línea de comandos en general. Muchos usuarios novatos de Mac pueden usar Private Eye para monitorear sus conexiones de red e Internet en OS X, que es una aplicación gratuita pero excelente que se ejecuta en la interfaz gráfica de usuario y es un poco más fácil de analizar, especialmente si no tiene experiencia con el terminal. .