图2.3 IP报头结构
(1)版本:占4bit,说明数据包版本号,对于IPV4协议来说,该值4,对于IPV6而言,该值就是6;
(2)IHL:报头长度;
(3)服务类型:占8bit,说明它需要的服务;
(4)总长:数据包的长度,总长字段为16bit;
(5)标志字段:占16bit,产生数据报标识;
(6)DF,MF和分段偏移:说明这个分组需不需要分段,是不是都被接收。DF表示不能分片,当DF为0时能够分片。MF指示之后是否还是本协议数据包,1表示有,0表示这是最后一个;
(7)生命期:这个计数器可以约束分组存在时间的范围;
(8)头校验:检测数据报首部;
(9)源地址和目的地址:说明数据报的来路和去路;
(10)协议:占有8bit,说明数据报中数据用到的协议种类;
2.2.3 TCP和UDP数据包结构
TCP和IP数据包结构类似,如下2.4所示。
图2.4 TCP数据包报头结构
源端口号:标识主机发起应用请求的程序;
目的端口号:标识主机将要传送到达的应用程序;
序列号:表示源向目的端口传送的字节流;
确认应答号:表示了目标端想要从源端接收的TCP数据;
头长度:占4bit,表示数据的开始地点;
校验和:占16bit,对整个报文进行循环冗余校验;
紧急:是一个偏移量,可以通过与序号相加指明最后的数据的字节编号; VC++WinPcap网络流量监控与分析系统的设计和实现(4):http://www.youerw.com/jisuanji/lunwen_13539.html