現在、pcap のみを使用して同じインターフェイスでスニッフィングし、pcap_inject を使用してパケットを注入する可能性を考えています。
この問題は、次のいずれかを使用して簡単に解決できます。
- 永続的なチェックサムの追跡 /大きな低速マップ/,
- チェックサムの追跡 - すべてのデータが注入されるまで (たとえば、最初の http 要求)。
- bpf/libipq/Netfilter をハッキングして、実際の PHY パケットごとに追加のパラメーターを運ぶ
しかし:
pcap が eth0 をリッスンする /実際の状況は「pcap がリッスンし、ソース マジック経由でドロップする」に近い/、pcap は eth0 のハンドルを介してパケットを送信し、ルーティングできるようにします。libpcap が同じライブラリを使用して同じインターフェイスに注入されたパケットをキャプチャしないための理論的根拠は何ですか?たとえば、注入されたパケットはすべての Berkeley のパケット フィルタ コードを通過しませんか?
実技試験未定。