IP数据包分析


IP数据报格式
http://wenku.baidu.com/view/8bb1cc1810a6f524ccbf8559.html


使用telnet发送几个字符,截取数据包如下:

13:46:42.920954 IP 127.0.0.1.35433 > 127.0.0.1.8080: P 1:5(4) ack 1 win 1025 <nop,nop,timestamp 1892374604 1892369693>
        0x0000:  4510 0038 f53b 4000 4006 4772 7f00 0001  E..8.;@[email protected]....
        0x0010:  7f00 0001 8a69 1f90 2d05 b025 2d99 d991  .....i..-..%-...
        0x0020:  8018 0401 fe2c 0000 0101 080a 70cb 584c  .....,......p.XL
        0x0030:  70cb 451d 6161 0d0a                      p.E.aa..
13:46:42.920971 IP 127.0.0.1.8080 > 127.0.0.1.35433: . ack 5 win 1024 <nop,nop,timestamp 1892374604 1892374604>
        0x0000:  4500 0034 9c8c 4000 4006 a035 7f00 0001  E..4..@[email protected]....
        0x0010:  7f00 0001 1f90 8a69 2d99 d991 2d05 b029  .......i-...-..)
        0x0020:  8010 0400 fe28 0000 0101 080a 70cb 584c  .....(......p.XL
        0x0030:  70cb 584c                                p.XL
13:46:58.010996 IP 127.0.0.1.8080 > 127.0.0.1.35433: P 1:11(10) ack 5 win 1024 <nop,nop,timestamp 1892389694 1892374604>
        0x0000:  4500 003e 9c8d 4000 4006 a02a 7f00 0001  E..>..@.@..*....
        0x0010:  7f00 0001 1f90 8a69 2d99 d991 2d05 b029  .......i-...-..)
        0x0020:  8018 0400 fe32 0000 0101 080a 70cb 933e  .....2......p..>
        0x0030:  70cb 584c 6161 6161 6161 6161 6161       p.XLaaaaaaaaaa
13:46:58.011025 IP 127.0.0.1.35433 > 127.0.0.1.8080: . ack 11 win 1025 <nop,nop,timestamp 1892389694 1892389694>
        0x0000:  4510 0034 f53c 4000 4006 4775 7f00 0001  E..4.<@[email protected]....
        0x0010:  7f00 0001 8a69 1f90 2d05 b029 2d99 d99b  .....i..-..)-...
        0x0020:  8010 0401 fe28 0000 0101 080a 70cb 933e  .....(......p..>
        0x0030:  70cb 933e                                p..>




telnet的ip首部

        0x0000:  4510 0038 f53b 4000 4006 4772 7f00 0001  E..8.;@[email protected]....
        0x0010:  7f00 0001

第一个字节 0x45
前4位: 表示版本
后4位: 表示首部长度

第二个字节,用于表示服务类型 TOS
这里是0x10
有四种TOS,最小延迟(0x10),最大吞吐量(0x08),最高可靠性(0x04),最小费用(0x0

之后的2个字节表示总长度,也就是ip数据包长度,
这里是0x38,也就是56个字节

再往后2个字节表示 标识
这里是0xF53B

然后是3位标致 和 13位偏移
这里为 4000, 所以三位标致就是100
13位偏移为0

后面的两个字节分别是8位的生成时间TTL, 和8位协议
这里为 4006
所以生成时间就是0x40,十进制为64
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.021 ms
ping的ttl也是64
8位协议0x06

后面的2个字节是首部校验和
也就是4772

最后还剩8个字节,
前4个字节是源IP地址
后4个字节是目的IP地址
这里是:7f00 0001 7f00 0001
7f --> 127
00 --> 0
00 --> 0
01 --> 1
所以源和目的地址就是127.0.0.1




你可能感兴趣的:(IP)