0

偽造しscapyて再送するパケットトレースがありtcpreplayます。IPとトランスポート層のチェックサムをで再計算しScapy、パケットをファイルのディスクにpcap保存して呼び出しますtcpreplay

並行して実行することにより、これらの発信パケットのすべてのIPチェックサムにまったく価値がないtcpdumpことに気づきました。毎回削除しているようです。tcpreplay

さて、これは意図的に起こりますか?私は何かが足りないのですか?

tcpreplayチェックサムは正しいはずなので、チェックが失敗したために削除されるとは思いません。

4

3 に答える 3

1

使用している実際のtcpreplayコマンドを指定していませんが、tcpreplayがパケットを編集することはありません。tcpreplay-editまたはtcprewriteを使用してパケットを編集できますが、tcpreplayは使用できません。それでも、tcpreplay-edit/tcprewriteはチェックサムを計算/修正します。それらをゼロにしないでください。

Wiresharkでscapyによって生成された元のpcapを開き、実際にチェックサムがあることを確認しましたか?正直なところ、これはガベージイン、ガベージアウトの単純なケースのように聞こえます。

FWIW、私はあなたのチェックサムをゼロにするものを知りません...少なくとも、カーネルがPF_PACKETインターフェースを介して送信されたパケットに対してそれを行う理由を想像することはできません-それは私見のバグです。

あなたがそれを理解したら、私に知らせてください。

于 2013-02-23T06:34:20.937 に答える
1

何が起こっているのかよくわかりませんがtcpreplay、インターフェイスがパケットを送信するために使用することを検出し、Offload Checksum有効なNICチェックサムを計算させていると思われます。

でオフロードチェックサムを無効にしてみてください

ethtool -K eth0 rx off tx off

その後、再試行してお知らせください

于 2013-02-14T13:36:33.540 に答える
1

tcpreplay-editと同じパッケージに含まれているtcpreplay、特に次のオプションを使用して、この問題を解決できます。

-C, --fixcsum              Force recalculation of IPv4/TCP/UDP header checksums

インターフェイスのオフロード チェックサムを非アクティブ化することは無意味です。パケットが送信されると、チェックサム チェックが有効になっている次のマシンによって拒否されます (+99%)

于 2015-08-20T14:11:37.280 に答える