J'écris une application pour tester un pilote de réseau pour la gestion des données corrompues. Et j'ai pensé à envoyer ces données en utilisant une socket brute, de sorte qu'elles ne seront pas corrigées par la pile TCP-IP de la machine émettrice.
J'écris cette application uniquement sous Linux. J'ai des exemples de code pour l'utilisation de sockets bruts dans les appels système, mais j'aimerais vraiment garder mon test aussi dynamique que possible, et l'écrire en grande partie, sinon en totalité, en Python.
J'ai cherché sur le web des explications et des exemples d'utilisation de raw sockets en python, mais je n'ai rien trouvé de vraiment éclairant. Juste un très vieil exemple de code qui démontre l'idée, mais qui ne fonctionne en aucun cas.
D'après ce que j'ai compris, l'utilisation de Raw Socket en Python est presque identique en termes de sémantique à celle de raw socket d'UNIX, mais sans l'option struct
qui définissent la structure des paquets.
Je me demandais s'il ne serait pas préférable de ne pas écrire la partie "raw socket" du test en Python, mais en C avec des appels système, et de l'appeler à partir du code Python principal ?