Enumerar todas las conexiones a Internet abiertas en una Mac desde la terminal para rastrear problemas de ancho de banda
Recientemente, la LAN de mi oficina funcionaba más lentamente de lo habitual y no podía identificar qué estaba consumiendo todo el ancho de banda adicional. Tenía la sospecha de que el tráfico P2P era el culpable, pero no pude ver nada obvio en la máquina infractora. 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 solo las conexiones a Internet activas y abiertas en nuestras Mac, y podemos averiguar si hay algo peculiar (o en mi caso, algo oculto) en marcha y conectándose a una dirección externa, y este comando también le mostrará cuál es el ID del proceso de la aplicación o tarea infractora, para que podamos eliminarlo y detener la actividad si lo desea.
Mostrar una lista de todas las conexiones a Internet abiertas en OS X desde la línea de comandos
Esto se debe ingresar desde la Terminal de OS X, pero se puede usar de forma remota con SSH o localmente en una Mac.
Inicié sesión en la Mac infractora y escribí el siguiente comando:
lsof -i
No debería necesitar usar sudo, pero puede hacerlo si lo desea o lo requiere 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 parecer demasiado loco.
Aquí hay un ejemplo de la salida mostrada por esta cadena de comando lsof -i:
MacMini:~ macuser$ lsof -i COMANDO PID USUARIO TIPO FD DISPOSITIVO TAMAÑO/NO NOMBRE DE NODO 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 ( Establecido) 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.gogle.com:hhatp (ithuster) :daap (ESCUCHA)
En la pantalla de salida de lsof anterior no hay nada inusual, pero en mi solución de problemas de red antes mencionada, descubrí un cliente BitTorrent que se ejecutaba oculto en el fondo de una de mis redes Mac, ¡y estaba generando varios archivos grandes! Naturalmente, eliminé el cliente BitTorrent, eliminé la aplicación, eliminé los archivos y la Mac LAN vuelve a funcionar a toda velocidad.
Listado solo de conexiones a Internet establecidas
Si desea mostrar solo las conexiones establecidas (lo que significa que se están comunicando activamente y se ha establecido un enlace entre la máquina local y una IP externa), puede usar esta variación de comando de la mencionada anteriormente lsof cadena:
lsof -i | grep -E (ESCUCHAR|ESTABLECIDO)"
Puede combinar esto con 'ver' para obtener una lista actualizada automáticamente de conexiones establecidas también.
Y si conoce el nombre del proceso, también 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. Los usuarios de Mac más novatos pueden usar Private Eye para monitorear Internet y las conexiones de red en OS X, que es una aplicación de terceros 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 la terminal.