Si desea confundir el IP, UDP o TCP enrute sus paquetes desde sus servicios de alto nivel a través de un bucle invertido a un proceso que los lea, los fuzzes y los reenvíe. Necesita un controlador que le permita hablar con sockets sin procesar y necesita leer/aprender qué dicen los RFC aplicables para esos protocolos.
Hay una manera fácil de hacerlo. Tal como lo recomienda Justdelegard, Scapy es probablemente lo mejor para usar, en general.
Eche un vistazo a Releasing ICMPv4/IP fuzzer prototype de Laurent Gaffié. Su código Python, que incidentalmente ha vuelto a publicar en la moda more readable en pastebin.com, importa desde scapy y utiliza algunos métodos que define para hacer un par de tipos de fuzzing. Los paquetes IP e ICMP se manejan en su código de muestra. Entonces, esto suena exactamente como lo que estás buscando.
En este momento, parece haber muchas compañías que usan Tcl/Expect to do custom automated testing de redes. SIP, H.323, capa 2 & 3 protocolos, etc.
Así que si Scapy no satisface sus necesidades, es posible que pueda hacer o encontrar algo escrito en Tcl usando Esperar para hacer el trabajo. O bien, puede hacer algunas cosas en Python, usando Scapy y otras cosas en Tcl, usando Esperar.
Tcl se ha utilizado durante mucho tiempo para pruebas de red y aplicaciones de gestión. Había un libro sobre cómo usar Tcl para hacer gestión de red basada en SNMP en la década de 1990.
La sintaxis de Tcl es decididamente extraña, pero las bibliotecas son muy potentes. Viene con una capacidad similar a la del marco para definir el comportamiento del comportamiento de la red personalizada sobre los sockets, similar a lo que se puede hacer con las bibliotecas estándar para el lenguaje de programación Python.
A diferencia de Python y otros lenguajes de scripting, existe una herramienta extremadamente poderosa para programas Tcl llamada Expect (ver expect man page).
Esperar tiene una capacidad práctica. Puede auto generar un script de prueba Tcl. La secuencia de comandos generada realiza llamadas a las funciones Esperar. Al hacer esta grabación, funciona como un hombre pasivo en el medio, grabando ambos lados de la conversación. Tipo de forma de grabar macros mientras realiza alguna edición en MS Word o en Emacs.
A continuación, puede editar el script Expect generado automáticamente para ajustarlo, hacer que se comporte de manera diferente o crear múltiples variaciones del mismo. Es muy útil para crear pruebas de regresión. Debería poder utilizar esto para comenzar a escribir pruebas de protocolo de capa superior, en caso de que lo necesite. Beats comenzando desde cero.
Creo que puede usar Tcl/Expect para probar aplicaciones TCP estándar (FTP, HTTP, SMTP, etc.) que utilizan comandos basados en cadenas. Funciona bien para probar aplicaciones basadas en caracteres como TELNET que leen entrada desde stdin y generan salida a stdout también.