El problema con herramientas como netstat
, ss
y lsof
es que funcionan en instantáneas del estado de la red. Las conexiones que se restablecen durante la configuración no se mostrarán con alta probabilidad.
Si bien Wireshark puede capturar los paquetes TCP, no podrá decirle a la ID del proceso quién fue el responsable. Esta información no se proporciona en una captura de Ethernet normal. Hay un mecanismo diferente ( NFLOG ) que puede registrar paquetes como los ve Netfilter (iptables), pero esto puede contener como máximo el ID de usuario del proceso que generó un paquete.
Un enfoque para abordar el problema es detener o eliminar completamente el tráfico de red.
- Al usar Wireshark, podría, por ejemplo, determinar que el rango del puerto está dentro de 5037-5585.
-
Agregue una nueva regla de firewall que descargue el tráfico TCP recién iniciado a la interfaz de loopback para ese rango de puertos:
sudo iptables -I INPUT -p tcp -i lo --dport 5037:5585 --syn -j DROP
-
Ahora puede usar netstat, ss, etc. para encontrar el programa ofensivo. Por ejemplo:
sudo ss -tapn | grep '5[0-5]'
-
Cuando termine, elimine la regla del firewall de nuevo para que puedan ocurrir nuevas conexiones:
sudo iptables -D INPUT -p tcp -i lo --dport 5037:5585 --syn -j DROP
Utilicé este enfoque para identificar que el demonio ADB intentaba conectarse todo el tiempo a algunos puertos locales, probablemente para localizar un simulador de Android.