0

RAW ソケットを作成し、ソケット オプションを「IP_HDRINCL」に設定しました。送信 UDP パケットに識別フィールドを設定していますが、

同じものを送信します。パケットが送信されると、このフィールドが乱数に変更されることがわかります。スニファ キャプチャでも同じことがわかります。

別の Windows XP マシンでビルドしてテストした場合、同じコードは正常に動作します。発信パケットの IP ヘッダーの識別フィールドに、設定した値と同じ値が含まれていることがわかります。

何がうまくいかないのかわからない。お気づきの点がございましたらお聞かせください。

ありがとう、

レヌ

4

1 に答える 1

0

raw ソケットはIP_HDRINCL、送信される IP パケットの特定のフィールドの値を自動的に設定します。

あなたの場合、パケットIDはゼロの場合に上書きされます。(それはあなたの場合ですか?)

これはケースです:(Raw Socketのmanページから取得)

          +---------------------------------------------------+
          |IP Header fields modified on sending by IP_HDRINCL |
          +----------------------+----------------------------+
          |IP Checksum           |Always filled in.           |
          +----------------------+----------------------------+
          |Source Address        |Filled in when zero.        |
          +----------------------+----------------------------+
          |Packet Id             |Filled in when zero.        |
          +----------------------+----------------------------+
          |Total Length          |Always filled in.           |
          +----------------------+----------------------------+
于 2013-03-26T12:04:32.960 に答える