2010-01-31 13 views
11

Estoy buscando un código de muestra para el reensamblaje de paquetes IP en C con libpcap *. ¿La desfragmentación de paquetes IP está implementada oficialmente en la biblioteca libpcap? Encontré esta propuesta: http://www.mail-archive.com/[email protected]/msg02991.html[this][1].libpcap Reensamblaje de paquetes IP

¿Hay alguna implementación de desfragmentación de paquetes IP?

[1]: http://www.mail-archive.com/[email protected]/msg02991.html [+]

* La razón para buscar el código de ejemplo es sólo para la diversión y el aprendizaje y que no quiero pasar demasiado tiempo para escribir código para el reensamblaje de paquetes IP.

+0

bountied. buscando lo mismo. OP, @systemsfault, cualquier progreso que pueda compartir ?;) –

+0

@mhambra, consulte el código libnids, parece que usa libpcap. En realidad, dejé el proyecto y no lo volví a ver, así que no tengo más sugerencia que la sugerencia del tsg. – systemsfault

Respuesta

9

No, estoy bastante seguro de que el parche no se convirtió en libpcap. Pero puede hacer la desfragmentación de IP (y también seguir flujos TCP) con libnids.

+0

tsg, libnids usa conectores raw unix, pero necesito una implementación con libpcap. Porque estoy tratando de aprender libpcap y tratar de construir una aplicación experimental con él. lwip también tiene la función de reensamblado/desfragmentación de paquetes. – systemsfault

+0

Después de un breve vistazo al código libnids, parece que sí lo hace libpcap. Ver por ejemplo nids_pcap_handler(). – tsg

+1

después de un breve vistazo, puedo decir que sí, usa pcap; pero no para el reensamblaje. Para volver a armarlo, parece que usa conectores crudos, vea el código fuente de ip_fragment.c. – systemsfault

0

Libpcap es una biblioteca para capturar paquetes de capa de enlace sin formato; está destinado a ser utilizado por programas y bibliotecas que hacen su propio procesamiento de esos paquetes, incluido el reensamblaje de fragmentos IP, etc. Por lo tanto, no lo hace, ni lo hará nunca, el reensamblaje de IP; eso pertenece a una biblioteca separada.

1

Si está buscando una herramienta que reensamble IP, puede realizar la compra IPDefragUtil. También puede consultar el código fuente de reensamblaje IP here y here