2017-07-28 8 views
0

私はLibpcapでpingを送信しようとしていますが、要求を送信するたびにエラーは返されず、pingユーティリティを介して送信された通常のpingと同じに見えます。Libpcap ICMPパケットが返信されません

左側のパケットは、端末のpingと私のアプリケーションの右側のパケットを介して送信されます。限り、私はそれが含まれていないので、データフィールドはオプションであると言うことができ、識別子/シーケンス番号はランダムにすることができますので、それらはランダム化されています。

私はここで何かが分かりませんか?

enter image description here

答えて

1

私はあなたのIPヘッダのチェックサムを検証していない注意してください。実際に正しいと確信していますか?次のルータでなければ、あなたが見たものと一貫性のあるパケットを静かにドロップします。あなたがスイッチを入れると、WiresharkはあなたのためにIPヘッダーチェックサムを検証することができます。

+0

ICMP + IPパケット 'ip.ip_sum = ip_checksum(&ip、sizeof(ip));'の両方で自分のコードのチェックサム関数を呼び出すのですが、自動的に検証が無効に設定されているようです。通常のpingユーティリティを使用しても、無効に設定されているようです – Crizly

+0

もう一度:チェックサムが正しいかどうかを確認するには、wireshark /で検証をオンにします。 – Hal

+0

オハイオ州オハイオ州オハイオ州オハイオ州私は誤解しています、私はあなたが問題を見つけたと思う、今エラーを得る – Crizly

関連する問題