【转载】TCP数据包实例解析

1、一个完整的TCP数据包
11:43:26.893811 IP 10.135.1.108.39936 > 10.135.38.95.8090: P 1:247(246) ack 1 win 12 <nop,nop,timestamp 3216248128 3584896032>
       0x0000: 4500 012a cfdf 4000 3d06 3016 0a87 016c  E..*..@.=.0....l
       0x0010: 0a87 265f9c00 1f9a a70c c2e3 d9e2 fee9  ..&_............
       0x0020: 8018 000c 9e30 0000 0101 080a bfb4 0d40  .....0.........@
       0x0030: d5ad 2c20504f 5354 202f 6d71 7173 6572  ..,.POST./mqqser
       0x0040: ……
       0x0050: ……
       0x0060: ……
       0x0070: ……
       0x0080: ……
       0x0090: ……
       0x00a0: ……
       0x00b0: ……
       0x00c0: ……
       0x00d0: ……
       0x00e0: ……
       0x00f0: ……
       0x0100: ……
       0x0110: ……
       0x0120: 7468 3a20 3631 0d0a 0d0a                 th:.61....

2、数据包概要信息
11:43:26.893811 IP 10.135.1.108.39936 > 10.135.38.95.8090: P 1:247(246) ack 1 win 12 <nop,nop,timestamp 3216248128 3584896032>
从IP、TCP首部提取出来的信息:
        源IP端口、目的IP端口、PUSH标志、起始字节序号(数据长度)、ack标志、窗口大小12、<TCP选项中的NOP、TCP选项中的NOP、TCP选项中的时间戳、TCP选项中的回送时间戳>
3、IP首部
0x0000: 4500 012a cfdf 4000 3d06 3016 0a87 016c
0x0010: 0a87 265f
       4500 012a
              4:版本号
              5:首部长度,5*4字节=20字节
              00:服务类型
              012a:IP数据包总长度0x12a=298字节=IP首部长度20字节+TCP首部长度32字节+数据净荷246字节
       cfdf 4000
              cfdf:包唯一标识,0xcfdf=53215
              4000:0x4000=010 0 0000 0000 0000:
                     010:0+不要分片+没有后续分片
                     0 0000 0000 0000:片偏移0
       3d06 3016
              3d:生存时间,0x3d=61
              06:协议,0x06=6,TCP协议
              3016:首部校验和
       0a87 016c 0a87 265f
              0a87 016c:源IP=10.135.1.108
              0a87 265f:目的IP=10.135.38.95

4、TCP首部
0x0010:            9c00 1f9a a70c c2e3 d9e2 fee9
0x0020: 8018 000c 9e30 0000 0101 080a bfb4 0d40
0x0030: d5ad 2c20
       9c00 1f9a
              9c00:源端口39936
              1f9a:目的端口8090
       a70c c2e3 d9e2 fee9
              a70c c2e3:32位序号 2802631395
              d9e2 fee9:32位确认序号 3655532265
       8018 000c
              8018=1000 0000 0001 1000
                     1000:首部长度8,8*4字节=32字节
                     0000 00:保留六位
                     01 1000:标志位,ACK+PSH
              000c:窗口大小,0xc=12字节
       9e30 0000
              9e30:16位校验和
              0000:16位紧急指针
       0101 080a bfb4 0d40 d5ad 2c20:12字节选项
              0101:01=无操作nop,01=无操作nop
              080a bfb4 0d40 d5ad 2c20:时间戳选项,总长度为0a=12字节
                     bfb4 0d40:时间戳=3216248128
                     d5ad 2c20:回送时间戳3584896032

5、数据
0x0030:           504f 5354 202f 6d71 7173 6572
……
0x0120: 7468 3a20 3631 0d0a 0d0a
       长度为246字节(0x12a-0x34=246)

本文转载于:http://blog.csdn.net/fzzmouse/article/details/9203741

猜你喜欢

转载自jiangli.iteye.com/blog/2257726