计网第二次试验

Posted Zero_Adam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计网第二次试验相关的知识,希望对你有一定的参考价值。

目录:

一、观察分析IPv4分组各个字段

1. 捕获IPv4,观察各种值

命令:ping -l 47.98.148.7

版本号:ipv4的

首部长度字段: 20 个字节

最小值:20 ,固定有20的字节信息。
更大值:小于60就好吧。
最大值:60

验证总长度字段: 16进制的:5*16*16 + 13*16 + 12 == 1500。然后datra是1480 , 1480 + 20 == 1500 。正确!

2. tracert


最多就跳到14跳。也是14跳的时候完成跟踪。

tracert工作原理:ttl从1开始一个一个递增;

第一次ttl为 1 ,然后 路径中的第一个 路由器接收到了这个数据报之后,ttl -1 ,变成了 0 。 但是此时没有到达想要的 目的IP,所以该第一条路由器,会发回来一个 超时的包,这个包的src ip。源地址,就是第一个路由器的ip地址,

一次类推,ttl递增,一直到 达到了目的ip时,tracert停止,

看看包的数量:总共79个。


29 * 2 + 13 == 71…没对上号,

再重新跑一次

3. IPv4的协议字段:

ICMP是 1 . TCP是6 , UDP是 17

4. ping -f 看DF值


我往外发包的时候,不允许分片。 DF=1

它的返回包是 允许分片的。 DF=0


5. 观察标识字段:

是不一样的,见下图。

是为了 在主机拼接分片的时候 别拼接错了。标识字段相同的一些片, 组合在一起,


难点:tracert(教员上课讲的)

tracert的协议是icmp 协议。

端口不可达:

137端口: NetBios协议占据着这个137端口,
-ns 137 是名字解析服务。

一次发送三个包,

探测第一挑路由器的ip的时候,

发送三个ttl=1 的包,故意发送一个会ttl超时的包,所以到第一个路由器的时候就是0了,然后就会返回一个ttl超时报,就是黑色的包,

用意是获取到路由器的ip地址,那么就看,这个ttl超时报的 sorce的ip地址,也就是那个 路由器的ip地址。

然后 发送一个ttl为2 的包,
然后报到了第二挑路由器的时候,又超时了。然后又发送一个 ttl 超时报,然后就获得了 第二跳路由器的ip了。

假设没有 没有 tracter 来看路径

只有wireshark来找到 路径,

看黑色的超时包,看源ip,

到最后一跳是正常了,就是reply了,就不是 ttl 超时包了。

二、观察IPv4数据报分片与重组

1. ping 和 ping -l 的区别


确实,刚开始都请求超时,,,啊,好像是我自己的网络问题啊,,,看靠下的两个图片就好。

原因,不是很明白讲真的。。

因为 要分片吧,然后数据报就变多了。而且到了目的主机之后,还要组合什么的。就会慢了。去的时候花费的时间长,自然总时间也长了。

2. 看分片的一些东西:


命令:ping -l 3000 47.98.148.7。和课堂上的数据一样。

  • 3个分片;
  • identification是相同的,同一个分组都是相同的,便于到了目的主机之后组装。
  • MF more fragments 后面是否有分片了还, 所以前2个片的MF为1,最后一个的MF是0
  • DF don’t fragment,当然是允许分片的啦,所以这3个的DF都是 0
  • 数据

  • 数据部分1480 ,总长度 1514 . 1480 + 20 + 14 == 1514
    ip头的固定长度是 20 。 然后mac的头 14 .所以就这样了呀


  • 第一个包的片偏移为 0 ,正常

  • 第二个包的片偏移,,,可能是我的wireshark更新了??直接显示的是1480 ,当时在实验室好像是 1480/8 == 185.。实验室的Fragment Offset是 185 .

  • 然后第三个我是 2960, 同样,实验室的是 370 . 就是 370*8 = 2960 .

  • 同样,根据下面的16进制数也能够验证我们的正确性。

3. ping分片后,数据变多。

分别为 1514 , 1514 , 82 .

1514 的由来: 1480 + 20 +14
1514 的由来: 1480 + 20 +14
82 的由来: 40 + 20 + 14 + 8

20是ip头固定的20个字节,14是mac的数据

总体解释:14是 mac 头的长度,
本来mac是18 来着:6字节的目的地址,6字节的原地址,2字节类型,然后是 IP数据报, 然后是 4字节的FCS 校验和,总共是18个.。但是后四个字节的FCS校验完之后就去掉了,所以网络层中我们抓包都是没有FCS的,那啥,CRC校验,在数据链路层校验完了,校验正确后,才往网络层上发送,那时候FCS就去掉了。所以我们抓到的包中的mac部分是没有FCS的,所以不是18,而是14个字节

多了几个字节是因为,分片之后,每一个分片都要加上 IP头和MAC头的,

4. 分片中的载荷规律的寻找:

这个,,我回来之后做的实验和在实验室做的一样,三个分片的数据载荷并没有连接起来,都是从abc...开始的。

按道理说是连接在一起的。但是,,这个ping给你填充的数据,就不给你按照顺序来,咱们也没有办法啊。。是不,

难点 : 分片与重组(教员上课讲的)

让他分片
ping -l 3000 *.*.*.*(目标)

分片分三片, 去三个,回来三个,

然后请求了4 次,

4 * 6 == 24

###??????

为什么前两个是ipv4 后一个是 icmp 啊????

总长度1514 。。 data部分是1480

多了两部分
ipv4 20个长度
以太网是 14个。 源mzc 6 目的mzc 9 type 2个字节,

然后分析分开的三个包的知识:

标识 : 三个片的标识 是一样的, 表示来源于同一个数据报, 分堆用的,就是标识,三个包的标识是相同的。
不同的来源的标识是不一样的。

标志是 三位:
第一位一般不用,
第二位: DF位。 Don’t fragment df都是 0 ,要允许分片
第三位:MF more fragment 前两个1 ,后一个 0 。

片偏移 0 185 370
然后 185 *8 == 1480

载荷:DATA字段

以上是关于计网第二次试验的主要内容,如果未能解决你的问题,请参考以下文章

计网第六章

计网第三次实验

计网第五章作业

第二次试验

第二次试验报告与第四周总结

第二次试验报告