バックグラウンド:
scapyを使用して、送信元/宛先MAC、IPアドレス、およびレイヤー4ポート番号を交換することでパケットを選択的にループバックできるネットワークデバイスをテストしています。layer_2_only
、、、layers_2_and_3
のスワッピングを選択できますlayers_2_3_and_4
。サーバーでscapyを実行し、デバイスにパケットを送信し、返送されたパケットの設定に応じて適切な送信元/宛先フィールドが交換されていることを確認しています。
問題:
srploop()
パケットを送信して一致を受信するscapyメソッドは、PINGやARPなどのメッセージタイプに適しています。UDPパケットを送信し、送信元/宛先ポートがループバックデバイスによって反転されない場合、scapyはループバックされたパケットを一致のように処理しないことがわかりました。ループバックデバイスによってポート番号が逆にされると、パケットは一致として検出されます。
質問:
scapyのパケットマッチングロジックをオーバーライドまたは影響を与える方法はありますか?たとえば、レイヤー4でマッチングを無効にできると便利です。私はドキュメントを見ましたが、これが可能であることを示唆するものは何も見つかりませんでした。
scapyでこれを達成する別の方法はありますか?を使用して実験しまし
send()
たsniff()
が、その方法を使用して応答をキャプチャすることに成功していません。