ping命令-j选项的再次复习以及部分ICMP差错报文的构造

  1. 关于向路由器发送大字节报文且不分片的情况

(1)发送方式:首先通过netsh interface ipv4 set subinterface “接口名称” mtu=1800 store=active的方式扩大自身MTU的发送上限,然后通过ping命令的-f,不让其分片,并向路由器发送。

(2)实验结果:虽然看起来这样的情景十分的理想,但是最终的结果是路由器根本不会理会其数据大小超过它MTU大小的报文,而会直接丢弃,最终的结果是请求超时,实验失败。

  1. 使用ping命令 -j方式去控制报文传送路径,视图获取重定向报文

 

  1. 实验方式:通过ping命令-j选项去控制报文的传输从一个短路径转移到一个长路径上。由此引诱路由器发送一个重定向报文
  2. ping -j工具的使用方式:ping -j 路由器1指定的发包口 路由器2指定的发包口...目的地址
  3. 实验结果:虽然这个情景看似非常理想,但是却忽略了-j选项的工作原理。其工作原理如下:

 

它通过修改ICMP包中IP层的头部,结合一系列的工作,起到一个十分巧妙的报文传输控制。上图是我在主机与网关之间的路径上捕捉到的报文

如图所示,原本的destination IP字段被修改为Current ip,Current IP字段代表我如果要发送这个报文,那么我必须根据这个指定IP,从配有这个指定IP接口上发送出去。同时我们还需关注下面的选项字段,里面需要注意的地方是Pointer指针下面的几个字段,下面标注了在报文发送过程中,每个路由器发送报文要使用的IP接口。比如结合上图我们就知道,当该报文到达网关后,该网关该使用配有11.0.0.1IP地址的接口进行转发。然后网关的下一条要使用配有11.0.1.1IP地址的接口对该报文进行转发。当路由器使用了报文中指定的IP地址IP接口进行转发后,它就会将对应的条目从IP选项中剔除,然后每个路由器都会这样工作,直达被目的主机接受。里面的内容还有很多,先说这么多。

我们从上面的工作原理就知道,路由器只是一昧的配合报文的内容去进行转发,可以用傀儡去形容,所以即便在上面的拓扑中它知道有更短的路径,它也不会发送重定向报文,因为这个要求是你提出来的,是你要求往这条路径进行报文传输,那么我肯定没有必要去对你进行纠正。实验失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值