破損したデータを処理するためのネットワーク ドライバーをテストするアプリケーションを作成しています。そして、このデータを raw ソケットを使用して送信することを考えたので、送信側のマシンの TCP-IP スタックによって修正されません。
私はこのアプリケーションを Linux だけで書いています。システムコールで生のソケットを使用するコード例がありますが、テストをできるだけ動的に保ち、すべてではないにしてもほとんどを Python で記述したいと考えています。
Python で生のソケットを使用する方法の説明と例を Web で少し調べましたが、本当に有益なものは見つかりませんでした。アイデアを示す非常に古いコード例ですが、決して機能しません。
私が収集したところによると、Python での Raw Socket の使用法は、セマンティクスにおいて UNIX の raw ソケットとほぼ同じですがstruct
、パケット構造を定義する s はありません。
テストの生のソケット部分を Python ではなく、C でシステム コールを使用して記述し、メインの Python コードから呼び出すほうがよいのではないかと考えていました。