¿Cómo uso Raw Socket en Python?

Estoy escribiendo una aplicación para probar un controlador de red para el manejo de datos dañados. Y pensé en enviar estos datos utilizando un socket en bruto, por lo que no será corregido por la pila TCP-IP de la máquina emisora.

Estoy escribiendo esta aplicación únicamente en Linux. Tengo ejemplos de código de uso de sockets en bruto en llamadas al sistema, pero realmente me gustaría mantener mi prueba lo más dinámica posible, y escribir la mayoría, si no todo, en Python.

He buscado un poco en Google en la web para obtener explicaciones y ejemplos del uso de sockets sin procesar en python, pero no he encontrado nada realmente esclarecedor. Solo un ejemplo de código muy antiguo que demuestra la idea, pero de ninguna manera funciona.

De lo que he recopilado, el uso de Raw Socket en Python es casi idéntico en semántica al socket raw de UNIX, pero sin elstructs que definen la estructura de los paquetes.

Me preguntaba si sería mejor no escribir la parte de socket sin procesar de la prueba en Python, sino en C con llamadas al sistema, y ​​llamarla desde el código principal de Python.

Respuestas a la pregunta(7)

Su respuesta a la pregunta