1.数据链路层头部(以太帧头部)(总14个字节)
1.1 前6个字节(接收者的mac地址 即目的mac地址)---
1.2 中间6个字节 (发送者的mac地址 即源mac地址)---
1.3 最后2个字节 (代表网络协议; 08 00是IP协议类型 08 06是地址解析协议ARP)--------------
2. IP数据包包头分析 (20个字节)
2.1 第1个字节(45) ,前4位表示的是IP协议的版本,即IPv4;它的后4位表示首部长度为20字节,即IP数据包包头为20字节
2.2 第2个字节 是区分服务
2.3 第3,4个字节 是指首部和数据之和的长度,即 IP数据包包头和IP数据之和,不包括以太帧头部的字节
2.4 第5,6个字节 是一个数据报被分片后的标识,便于正确的重装原来的数据报
2.5 第7,8个字节 分前3位为标志位和后13位为片偏移,其中标识位只有两位有意义
2.6 第9个字节 表示的是数据报在网络中的寿命
2.7 第10个字节 指出数据报携带的数据时使用的协议类型(01表示ICMP协议; 06表示TCP协议; 11表示UDP协议)----------
2.8 第11,12个字节 表示首位检验和,对数据报的保留与丢弃进行判别
2.9 第13,14,15,16个字节 表示发送者的IP地址(源IP)------
2.10 第17,18,19,20个字节 表示接收者的IP地址(目的IP)--------
3.ICMP数据分析 (ICMP数据头8个字节 + 报文数据32个字节)
3.1 第1个字节 说明ICMP报文类型(08 表示回应请求报文,传递的ping命令通常用于测试信宿的可到性;
00 表示回应应答报文) (如果是匹配的一组报文对,其标识符和序列号是一样的,且数据部分也是一样的)
3.2 第2个字节 (00)指的是代码为0,网络不可达
3.3 第3,4个字节 检验和(checksum)
3.4 第5,6个字节 标识符(Identifier)
3.5 第7,8个字节 报文的序列号(Sequence number)
3.6 第9个字节及以后总共32个字节 是报文的数据(Data)
4.TCP数据分析 (TCP包包头 是用
数据偏移字段表示的
)
4.1 第1,2个字节 是源端口
4.2 第3,4个字节 是目的端口
4.3 第5,6,7,8个字节 是序号(Sequence number)
4.4 第9,10,11,12个字节 是确认序号(Acknowledge number)
4.5 第13,14个字节的前4位 是数据偏移字段 (实际上是TCP报文首部的长度,因为首部长度不固定)
中间6位 是保留字段(供往后使用,置零)
后面的6位 分别是(紧急比特位URGent:当URG=1时,注解此报文应尽快传送,而不要要本来的列队次序来传送;
确认比特位ACK: 只有当ACK=1时,确认序号字段才有意义;
急迫比特位PSH: 当PSK=1时,注解恳求远地TCP将本报文段立即送给应用层,而不要比及全部缓存都填满之后再向上交付;
复位比特位ReSeT: 当RST=1时,注解呈现严重错误,必须开释连接,然后再重建传输连接。复位比特还用来拒绝一个不法报文段或拒绝打开一个连接;
同步特位SYN: 在建树连接时应用,当SYN=1而ACK=0时,注解这是一个连接恳求报文段。对方若赞成建树连接,在发还的报文段中使SYN=1和ACK=1。是以,SYN=1默示这是一个连接恳求或毗邻接管报文,而ACK的值用来区分是哪一种报文;
终止比特FINal: 用来开释一个连接,当FIN=1时,注解欲发送的字节串已经发完,并请求开释传输连接; )
4.6 第15,16个字节 是窗口Window (默示报文段发送方的接管窗口,单位为字节,此窗口告诉对方,在未收到我的确认时,你可以或许发送的数据的字节数至多是此窗口的大小。)
4.7 第17,18个字节 是检验和
4.8 第19,20个字节 是紧急指针
4.9 第21到TCP首部的最后 是选项和填充 (这部分可以有,可以没有,具体字节数等于(数据偏移字段-20))
5. UDP数据分析
5.1 第1,2,个字节 是源端口(Source Port)
5.2 第3,4个字节 是目的端口(Destination Port)
5.3 第5,6个字节 是UDP数据长度(Length)
5.4 第7,8个字节 是校验和 (checksum)
5.5 第9到最后字节 是实际数据