Pregunta

Tengo una regla configurada para descartar paquetes udp / tcp con cadenas coincidentes. sin embargo, mi programa que captura paquetes usando libpcap, todavía puede ver este paquete.

¿Por qué es esto /, cuáles deberían ser las reglas de iptable para descartar paquetes antes de que libpcap lo vea?

¿Hay alguna forma, tal vez que no sean las reglas de iptables, para descartar este paquete antes de que sea visto por libpcap / tcpdump?

¿Fue útil?

Solución

Sí, libpcap ve todos los paquetes. . Están siendo capturados antes de ser procesados ??por el filtro de red.

Otros consejos

¿Intentó cambiar la prioridad del enlace de filtro de red que usa? si intenta conectar con la máxima prioridad para los paquetes entrantes, obtendrá el paquete antes que el código del núcleo del socket del paquete, que es la forma en que libpcap utiliza para capturar paquetes.

* Supongo que está utilizando Linux *

EDITAR: Libpcap utiliza diferentes formas de capturar paquetes, según el sistema operativo. en linux usa el socket del paquete que se implementa en el código del kernel usando el marco netfilter.

No hay forma de que libpcap vea los paquetes antes de netfilter, netfilter es un módulo del núcleo y procesa todos los paquetes antes de que lleguen al modo de usuario, incluso puede ver los paquetes antes de que el núcleo lo vea. ¿Podría explicar más? Es posible que libpcap también esté configurando ganchos en netfilter que sobrescriban el de iptables. El verdadero problema es que mirar y qué ganchos se establecen en netfilter está lejos de ser trivial, y solo se puede hacer en modo kernel. Investigue cómo libpcap obtiene los paquetes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top