IP首部分析-借助wireshark

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

IP数据报的格式如图1所示。普通的IP首部长为20个字节(除非含有选项字段)。

IP首部分析-借助wireshark_第1张图片

版本:由4比特构成,表示标识IP首部版本号。

IP首部分析-借助wireshark_第2张图片

首部长度(IHL: Internet Header Length):由4bit构成,表明IP首部的大小,单位为4字节(32bit)。对于没有任何选项的IP包,首部长度则设置为“5”(20字节)。

服务类型(区分服务):由8bit构成,用来表明服务质量。DSCP(Differential Services Codepoint,差分服务代码点),用来进行质量控制;ECN(Explicit Congestion Notification,显式拥塞通告),用来报告网络拥堵情况,由2bit构成。


总长度:表示IP首部与数据部分合起来的总字节数。为16bit,因此IP包的最大长度为65535字节。

IP首部分析-借助wireshark_第3张图片

16位标识:用于分片分组。同一分片的标识值相同,不同分片的标识值不同。即使ID相同,如果目标地址、原地址或协议不同的话,也会被认为是不同的分片。

3位标志:表明包被分片的信息,每一位对应的具体含义如下:

IP首部分析-借助wireshark_第4张图片

片偏移:用来标识被分片的每一分段想对于原始数据的位置。第一个分片对应的值为0.最多可以标识8192个相对位置。

生存时间(TTL):指包可以中转多少个路由器的意思。每经过一个路由器,TTL会减少1,知道变为0在丢弃该包。

协议(Protocol):标识IP首部隶属于哪个协议。

IP首部分析-借助wireshark_第5张图片

16位首部校验和:校验数据包的首部部分,不校验数据部分。

32位源地址:发送端IP地址;

32目标地址:接收端IP地址;

可选项:长度可变,通常只在进行实验或诊断时使用。

填充:在有可选项的情况下,首部长度可能不是32bit的整数倍,为此,通过向字段填充0,调整为32bit的整数倍。

数据:数据部分。

最后贴上使用Wireshark具体分析数据包的情况:

IP首部分析-借助wireshark_第6张图片

你可能感兴趣的:(网络编程,Linux/unix)