TCP/UDP数据包结构
1. 单独的TCP/UDP报文结构
UDP头:8byte
TCP头:24byte
来自 <http://blog.csdn.net/wirror800/article/details/6977421>
2.带帧头(14byte),IP头(20byte)的UDP数据包结构
PS:后面的数据分析都是带IP头的数据包。
来自 <http://blog.csdn.net/wirror800/article/details/6977421>
(四)UDP数据包分析
0x0000: 4500 0054 9a08 4000 4011 b88d ac17 8639 E..T..@[email protected]
0x0010: ac17 099b e317 93e5 0040 e854 0000 0065 [email protected]
0x0020: 012d d668 0000 0000 0000 0000 0000 0038 .-.h...........8
0x0030: 3030 3030 3030 3030 3030 3030 3030 3030 0000000000000000
0x0040: 0000 0001 0000 0000 0000 0000 0000 0000 ................
0x0050: 0000 0000
4500 [4: ipv4], [5: headerlength, *4 ==> 20], [00: Type of Service(TOS)]
0054 [total length: 0x54(84),ip header(20) + udp header(8) + packlen(56) -> 84]
9a08 id
4000 3bits(ip flags), 40 ->do not flag, 5bits: fragment offset
4011 [ttl: 40], [protocol:0x11(17) ==> udp]
b88d checksum
ac178639 source ip: 172.23.134.57
ac17099b dest ip: 172.23.9.155
e317 sourc port: 58135(ntohs(0xe317)) [exchange]
93e5 dest port: 37861
0040 length: 64
e854 checksum
00000065... data
(五)TCP数据包分析
0x0000: 4500 0073 cdc5 4000 4006 6285 ca6e 4099 E..s..@[email protected]@.
0x0010: 7474 8abe 1f40 070a 6d88 acdd 23d7 a448 [email protected]...#..H
0x0020: 5018 16d0 0aa0 0000 0100 8000 0000 0047 P..............G
0x0030: 3004 8000 0016 8117 04d7 cd00 000b 0006 0...............
0x0040: 4500 1a4d 6bd0 180a 909a bc08 883d edea E..Mk........=..
0x0050: 091f ..
4500 [4: ipv4] [5: ip headerlength, 4*5 -> 20] [00 TOS]
0073 [total length: 0x73(115),ip header(20) + tcp header(20) + packlen(75) -> 115]
cdc5 id(ignore it)
4000 3bits(ip flags), 40 ->do not flag, 5bits: fragment offset
4006 [40 ttl] [06 protocol,0x06 -> tcp]
6285 checksum
ca6e4099 source ip: 202.110.64.153
74748abe dest ip: 116.116.138.190
1f40 sourc port: 8000(ntohs(0x401f)) [exchange]
070a dest port: 1802
6d88acdd 32 bits sequence number(ignore)
23d7a448 32 bits ack(ignore)
5018 [5: tcp header length 5 *4 -> 20] [018: 0000 00/01 1000: reserved 6bit -> ACK+PUSH](URG|ACK|PSH|RST|SYN|FIN)
16d0 16bit window size: 5840
0aa0 16bit tcpchecksum(ignore)
0000 16bit urgent pointer
三次握手过程为
来自 <http://www.cnblogs.com/tankxiao/archive/2012/10/10/2711777.html#threehand>
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet ProtocolVersion 4: 互联网层IP包头部信息
Transmission ControlProtocol: 传输层T的数据段头部信息,此处是TCP
Hypertext TransferProtocol: 应用层的信息,此处是HTTP协议
一般三次握手都是TCP 通讯三次之后,再到HTPP通讯
所以用WireShark抓到的包,可以分析相同Res端口以及Des端口的HTTP包即可
而HTTP包中的数据分析和浏览器抓包分析相似。
但是需要注意的是其中的DATA很可能是压缩或者加密过的
DATA的解压和解密正在探究中。。。。