¿Cómo puedo saber qué proceso está generando tráfico SYN a localhost?

4

En Wireshark, en la interfaz de bucle invertido, puedo ver las solicitudes SYN de localhost a puertos cerrados en localhost que se responden con RST, ACKS.

Tengo curiosidad por lo que está generando el tráfico. ¿Cómo puedo averiguarlo?

No puedo usar netstat porque las conexiones no se mantienen abiertas. lsof -i :[port-range] tampoco muestra ningún resultado.

    
pregunta Qgenerator 15.11.2016 - 01:28
fuente

2 respuestas

2

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.

  1. Al usar Wireshark, podría, por ejemplo, determinar que el rango del puerto está dentro de 5037-5585.
  2. 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
    
  3. Ahora puede usar netstat, ss, etc. para encontrar el programa ofensivo. Por ejemplo:

    sudo ss -tapn | grep '5[0-5]'
    
  4. 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.

    
respondido por el Lekensteyn 15.11.2016 - 10:06
fuente
0

Si está en Windows, puede usar las herramientas procmon y TCPview para controlar qué procesos se conectan a qué destinos:

enlace enlace

En Linux se puede lograr la misma funcionalidad utilizando:

ps y netstat , y al cerrar el firewall y el registro, los paquetes descartados con iptables y observar las conexiones con multitail

    
respondido por el gmlox 15.11.2016 - 02:19
fuente

Lea otras preguntas en las etiquetas