2017-07-30 16 views
-1

私は現在、私はポート53ここに私の問題パケットれるTCPパケット:余分なバイトの意味は?

にDNSクエリを解析すると仮定していたTCPパケットの解析ソフトウェアを書いている:私がいる問題が

00000 c6 f8 03 54 44 2d d0 7e 35 b0 60 7b 08 00 45 00 ...TD-.~5.`{..E. 
00010 00 4f 3a ea 40 00 80 06 ee 8f c0 a8 00 77 08 08 .O:[email protected] 
00020 08 08 f5 02 00 35 c9 8b a5 db 63 ee fd 0b 50 18 .....5....c...P. 
       %         ^
00030 00 40 77 53 00 00 00 25 34 b6 01 00 00 01 00 00 [email protected]%4....... 
          ** ** 
00040 00 00 00 00 03 77 61 6e 04 71 6c 74 79 07 66 69 .....wan.qlty.fi 
00050 6e 61 72 65 61 02 63 68 00 00 10 00 01    narea.ch..... 

ですTCPヘッダーとDNSクエリの間に2つの余分なバイトがあることを確認します。余分なバイトが**によってマークされ、私も^を介したTCPヘッダサイズとを経由してTCPヘッダーの始まりを強調し%

誰もがこれらのバイトから来ており、その意味は何ですかアイデアを持っていますか?

ご協力いただきありがとうございます。

種類について

+0

RFC 793を参照してください。「私のTCPの始まり」は無意味です。 – EJP

+0

私は、 '%'のTCPパケットの先頭には意味があると思います。もしあなたがIPヘッダを見ているなら、宛先アドレスは8.8.8.8で、これはGoogle DNSサーバです。だから、宛先ポート0x0035(53)を持つことは、DNSクエリにとって非常に意味があります。 Btw、ちょうど私がDNSの答えについて話していることに気付きましたが、これは実際にはDNSクエリです。 –

+0

あなたが言っていたことがあればそれはちょっと意味がありますが、そうではありません。それは私が注目した言葉ではありません。 – EJP

答えて

1

私は実際に自分で見つけました。私はこれを文書化しているので、同じ問題を抱えている人は誰でも知ることができます。

これらの余分なバイトはTCPヘッダーの一部ではなく、実際にはDNSであるTCPペイロードの一部です。

DNSを定義するRFC1035から、TCPによってカプセル化されたDNSパケットには、DNSペイロードのサイズを表す2バイトが前置されなければならないという仕様があります。

関連する問題