ICMP

实验九

Ping 程序

  1. 打开cmd

  2. 启动嗅探器,开始捕获

  3. 输入“ping –n 10 www.mit.edu”

    image.png

    ​ 主机上的 ping 程序发送了10 个查询包并收到了 10 响应对于每个响应,源计算往返时间(RTT),数据包平均为 343 毫秒。

    4.Ping 程序终止时,停止在 Wireshark 中捕获数据包。 image.png

    ​ 数据包列表显示 20 个数据包,说明源发送的 10 个 Ping 查询和源接收的 10 个 Ping 响应。数据包内容区域可以查看此数据包的信息,该数据包中的 IP 数据报的协议号ICMP 的协议号 01,这表示 IP 数据报的有效载荷是 ICMP 数据包。

    image.png

    image.png

    ​ 该 ICMP 包的详情信息,数据包包含校验和,标识符和序列号,该 ICMP 数据包是类型 8 和代码 0,也就是“回应请求”数据包。

  4. 源主机的 IP 地址是多少?目标主机的 IP 地址是多少?

    源主机:192.168.31.79
    目标主机:23.66.153.41

  5. 为什么 ICMP 数据包没有源端口号和目的端口号?

    因为 ICMP 报文作为 IP 有效载荷承载的,不需要像 TCP 或 UDP 那样需要端口号。

  6. 查看任意的请求 ICMP 数据包,ICMP 类型和代码是什么?该 ICMP 数据包还有哪些其他字段?校验和,序列号和标识符字段有多少字节?

    类型 8 和代码 0,也就是回应请求报文,还有校验和,序列号和标识符字段,都是 4 字节。

  7. 查看任意的响应 ICMP 数据包,ICMP 类型和代码是什么?该 ICMP 数据包还有哪些其他字段?校验和,序列号和标识符字段有多少字节?

    image.png

    类型 0 编码 0 是回显应答报文,还有校验和,序列号和标识符字段,都是 4 字节。

    Traceroute 命令

    1. 打开 cmd

    2. 启动嗅探器,并开始捕获

    3. 输入“tracert www.inria.fr”

    4. tracert 程序终止时,停止在 Wireshark 中捕获数据包。

      image-20211029200859501

      image.png

      ​ 对于每个 TTL 值,源程序发送三个探测包。 Traceroute 显示每个探测包的 RTT,以及返回 ICMP TTL 超出消息的路由器的 IP 地址和名称。

  8. 您的主机的 IP 地址是多少?目标目标主机的 IP 地址是多少?

    源主机:192.168.31.70
    目标主机:128.93.162.83

  9. 如果 ICMP 发送了 UDP 数据包(如在 Unix / Linux 中),那么探测数据包的 IP 协议号仍然是 01 吗? 如果没有,它会是什么?

  10. 检查屏幕截图中的 ICMP 响应数据包。这与本实验的前半部分中的 ICMP ping 查询数据包不同吗?如果不同,请解释为什么?

    image.png

    不同,这里的 ICMP 报文时TTL 报文(类型 11 编码 0),这个是在 Traceroute 程序中,路由器检查到 Traceroute 发出的 IP 数据报中 TTL 正好过期,因此路由器就需要丢包并且发送该警告报文返回源主机。这个与 Ping 程序中所要达成的目的不同,Ping 程序是为了请求响应。

    4.检查屏幕截图中的 ICMP 错误数据包。它具有比 ICMP 响应数据包更多的字段。这个数据包含哪些内容?

    image.png

    比响应数据包多了 ICMP 请求数据包的内容。

    5.检查源主机收到的最后三个 ICMP 数据包。这些数据包与 ICMP 错误数据包有何不同?他们为什么不同?

    image.png

    这个是目的主机返回的回显应答报文,因为 tracert 程序的原理是发送 TTL 增加的数据包,当 TTL = 1 的包达到路由器,该路由器会将该包丢弃,并且发送 ICMP 错误给请求的机器。而最后一组 3 个数据报时可以到达目的主机的,这时由于是被目的主机接收,目的主机不会丢包,而是确确实实收到的这个探测的数据报并进行了响应。

    6.在 tracert 跟踪测量中,是否有一个连接的延迟比其他连接长得多?是否有连接的延迟明显长于其他连接?根据路由器名称,您能猜出这个连接末端的两个路由器的位置吗?

    在第 8 个节点时延突增,之后的节点时延都达到了 250+ ms。之后的路由器名都是英文名,且目的地是法国,那应该是连接到了亚洲转欧洲的分界路由器了。