[计算机网络实验] IPV4协议

Written by Landasika

观察分析IPv4分组各字段

版本、首部长度

在这里插入图片描述首部最小值20,最大值是60

tracert结果下的TTL

抓包

首先打开wireshark开始监听,然后用tracert跟踪到我的服务器。

tracert landasika.top

请添加图片描述

分析路由的TTL

利用过滤器

ip.addr == 172.0.2.27 && icmp

然后按照时间排序
请添加图片描述

导出特定分组可以得到完整的tracert的包。

最后,可以看到对于的每一个点的包从而得到TTL值。
TTL值依次增大。

ping -f 下的DF值

抓包

cmd输入

ping -f landasika.top

然后抓包之后用

ip.addr == 172.0.2.27 && icmp

分析

过滤得到
请添加图片描述
然后点开包,查看flags字段下的Don’t fragment。

request包中,DF字段是1表面设置了分片
请添加图片描述

response包中,DF字段是0,表示分包。
请添加图片描述

不同分组标识

分组标识字段不一样
在这里插入图片描述

观察IPv4数据报分片和重组

分片后响应时间

在这里插入图片描述

使用ping -l后,数据包变大,所以发送时间会长

每个分片的标志动态偏移量、总长度、规律

抓包

使用cmd命令

ping -l 10240 landasika.top

注意一个问题
有些服务器开启了防DDos攻击的防火墙,所以发送数据量过大的数据包会导致请求超时。


编辑->首选项->Protocols->IPV4->Reassemble fragment IPV4 datagrams的勾勾去掉,这样的话ICMP的包不是整合到一起的包。
利用wireshark抓包

请添加图片描述
可以看到每个包的偏移量。

分析

我们发送了10240个字节,
10240=1480*5+1472+1368
理论上是发送了7个包

ICMP的数据包

由于我们使用的是ping命令来发送的包,所以第一个包一定是ICMP包,
并且ICMP的头里面的Type字段标志是8(表示ping命令)
数据包的长度是
1514=1472(ICMP分片的数据长度)+8(ICMP报文头长度)+ 20(IPV4报文头长度)+14(以太网协议长度)请添加图片描述

IPV4数据包

每个包的组成:
1514=1480(data长度)+20(IPV4长度)+14(以太网长度)
请添加图片描述

思考题

3、不同操作系统对IPv4数据包初始化TTL值是不同的,利用这一特征,可以进行操作系统的探测。通过ping程序,试探测互联网站点运行的操作系统类型,从而推断实验主机到达被测站点之间经过的路由器数目。

在这里插入图片描述
可以知道TTL=64,表名我的服务器用的是Linux系统,到达时候TTL=62,那么经过了12个路由器。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐