tcpdump filter avanzado
sudo tcpdump -i <if> 'tcp[13] & 4!=0' -w rst.pcap
Captura solo los paquetes TCP con el flag RST usando filtros BPF sobre bytes del header, para medir escaneos y conexiones rechazadas.
Ejecútalo cuando quieras ver los RST (conexiones rechazadas) sin el ruido del tráfico normal: el filtro BPF tcp[13] & 4 != 0 examina el byte 13 del header TCP (el de los flags) y captura solo los paquetes con RST activo. Los RST son la firma de los escaneos (el host que rechaza los puertos cerrados), de las conexiones bloqueadas por el firewall y de los servicios que mueren. En el hunting, un pico de RST hacia un host desde muchas IPs es un escaneo en curso; los RST de un servicio concreto delatan problemas. Es el ejemplo de los filtros BPF avanzados: la manipulación directa del header para expresar lo que los filtros de puerto no pueden.
No lo uses sin entender los flags TCP: el filtro captura los RST, pero los RST también son parte del comportamiento normal (conexiones a puertos cerrados, reinicios de sesión) — el volumen y el contexto deciden si es escaneo o ruido. En interfaces ocupadas, capturar solo RST es barato, pero el análisis posterior de quién los origina requiere correlación con los logs del firewall o del servicio. Y ojo: tcp[13] & 4 != 0 captura los RST en ambos sentidos; si solo te interesan los que recibe tu host, añade la dirección. Para el panorama completo del escaneo, combina con los SYN (tcp[13] & 2 != 0) y con el log del firewall.