实验:IP 与 ICMP 分析

这篇具有很好参考价值的文章主要介绍了实验:IP 与 ICMP 分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

IP 和 ICMP 协议是 TCP/IP 协议簇中的网络层协议,在网络寻址定位、数据分组转发和路由选择等任务中发挥了重要作用。本实验要求熟练使用 Wireshark 软件,观察 IP数据报的基本结构,分析数据报的分片;掌握基于 ICMP 协议的 ping 和 traceroute 命令其工作原理ࣿ

实验内容

启动 Wireshark,捕捉网络命令执行过程中本机接受和发送的数据报。

  1. 执行 ping 命令,观察 IP 数据报和 ICMP 询问报文的结构:通过 Wireshark 监视器观察捕获流量中的 ICMP 询问报文和 IP 数据报的结构。注意比较 ICMP 请求帧与回应帧,ࣿ其 IP 头部数据字段的异同。
  2. 改变 ping 命令的参数,观察 IP 数据报分片:更改 ping 命令参数 MTU,使其发出长报文以触发 IP 数据报分片,再观察 IP 数据报的结构变化。
  3. 执行 Traceroute 命令(Windows 系统 tracert),观察 ICMP 差错报文的结构,并分析其工作原理:使用Linux 操作系统提供的 traceroute 命令(或者 Windows 系统提供的 tracert 命令),捕获和分析该命令所产生的 IP 数据报,特别注意相关的 ICMP 差错报文。结合捕获的具体数据,画出命令执行过程中数据交互的示意图,掌握 traceroute 的工作原理。

实验命令

实验:IP 与 ICMP 分析实验:IP 与 ICMP 分析

实验的手段和方法

  1. 使用 Wireshark 软件,捕获本机在 ping 和 traceroute 网络命令执行过程中接收和
    发出的全部数据流量。
  2. 合理设置过滤条件,观察 IP 数据报和 ICMP 报文,着重分析报文首部和内容变
    化,从而掌握协议的工作原理。
  3. 调整 ping 命令的参数,观察并分析 IP 数据报分片情况。
  4. 结合所捕获的数据报,画出 traceroute 命令过程中数据交互示意图。

实验步骤

1、启动 Wireshark 软件,终端 ping IP 地址/域名(win + R-> cmd, ping sina.com.cn为例)。 Wireshark 监视器中设置过滤条件。例下图设置过滤条件为 icmp,则显示出所捕获的 ICMP

实验:IP 与 ICMP 分析点击 Internet Protocol Version 4 展开,查看 IP 数据报:

实验:IP 与 ICMP 分析实验:IP 与 ICMP 分析

点击 Internet Control Message Protocol 展开,查看 ICMP 报文:

实验:IP 与 ICMP 分析2、清空 Wireshark 监控器,终端 再 ping IP 地址/域名 –l #length,并解释对比前后两次执行 ping 命令的结果。其中,-l #length 确定 echo 数据报的长度为 #length,其默认值为 32 字节,且小于 65,527 字节。可以多次改变 #length 的大小(例如 1000 字节、2000 字节和 4000 字节),观察IP 数据报何时会分片?请解释 IP 数据报分片的原因和具体情况。

实验:IP 与 ICMP 分析
先解释为什么最后一个分片到4007,因为片位移8字节倍数,4000相当于第4001字节,所以最后一片4007才能分片;
分片原因,以太网的 最大传送单元 MTU 是 1500 字节 ;超过则自动分片,减去IP首部20字节,所以IP数据部 能发1480字节;
片位移计算=起点位置/8

2、在终端中使用 traceroute (windows tracert)命令,目的主机是外网的一台设备,点击 Internet Control Message Protocol 展开,查看 ICMP 差错报文,观察并解释ICMP 报文结构和字段内容。

实验:IP 与 ICMP 分析 终点不可达的数据报文的类型标号为3,表示这是终点不可达错误类型,代码标号是0 - 15,表示引发终点不可达错误类型的具体错误原因有16种可能,其中标识符和序列号全都用0来填充。
tracert工作原理:首先源主机发起一个 TTL=1 的 ICMP 报文。第一个路由器收到该报文后,TTL减 1 变为 0 并丢弃此报文,返回一个 [ICMP time exceeded] 的消息。源主机通过这个消息获知 IP 数据报转发路径上的第一个路由器信息。然后,依次增加发送ICMP 报文的 TTL 值,可以获取路径上的后续路由器的信息。当到达目的地时,目标主机返回一个 [ICMP port unreachable] 的消息,使发起者确认 IP 数据报已经正常到达。

3、在实际操作中,Traceroute 命令返回的某些条目以“*”号表示。请思考有哪些原
因可能导致这样的情况。
1)可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
2)中间任何一个router上如果封了ICMP Echo Request , traceroute就不能工作 ;中间的router看不到 ,但能看到packet 到达了最后的destination;如果封了ICMP Echo Reply,中间的全能看到,最后的destination看不到。

4、发送方要怎样决定 IP 数据报分组大小,才能避免因为不同网络 MTU 不一致而引起分片呢?
探测路径最小MTU,发送探测IP包,在包头中设置不可分片,然后通过是否受到ICMP消息即可确定路径MTU。限制最长数据报,一般不要超过1480字节,即以太网MTU(1500)——IP首部(20)。

5、心得
………………文章来源地址https://www.toymoban.com/news/detail-442858.html

到了这里,关于实验:IP 与 ICMP 分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实验:IP 与 ICMP 分析

    IP 和 ICMP 协议是 TCP/IP 协议簇中的网络层协议,在网络寻址定位、数据分组转发和路由选择等任务中发挥了重要作用。本实验要求熟练使用 Wireshark 软件,观察 IP数据报的基本结构,分析数据报的分片;掌握基于 ICMP 协议的 ping 和 traceroute 命令其工作原理ࣿ 启动 Wireshark,捕捉

    2024年02月04日
    浏览(22)
  • 【计算机网络】实验一 IP 协议分析实验

    本人一直想找时间系统整理一下之前做过的一些实验,便于后续用到的时候可以尽快的使用,po出来也便于大家交流学习,有问题欢迎交流指正,与诸君共勉! 了解网络层 IP 协议 学会独立分析协议的具体内容,通过实践巩固网络层协议的相关理论知识 熟悉计算机网络常用数

    2024年02月03日
    浏览(53)
  • 计算机网络实验-->> IP 协议分析

    掌握IP数据包格式以及段的含义; 掌握路由器转发IP数据包的流程; 理解验证IP分片原理。         根据下述网络拓扑结构图,实现IP协议分析。   1.添加并连接网络设备         根据“实验内容”中的网络拓扑结构,在Packet Tracer软件的逻辑工作区添加4台2811型

    2023年04月26日
    浏览(43)
  • 计算机网络-实验5:网络层-IP协议分析

    实验报告 IP协议分析与子网转发 实验目的:1、理解IP协议数据报格式,IP 数据包分片 ;                   2、了解路由器在不同子网之间转发数据报,配置静态路由。 在自己机器上的命令提示符窗口,执行Ping命令: Ping    网关IP地址。 截图显示ping命令执行结果。 在W

    2024年02月04日
    浏览(49)
  • 计算机网络 实验2 IP协议分析

    了解IP报文格式,熟悉IP报文各个字段含义、长度 掌握基于tcpdump和wireshark软件进行数据包抓取和分析技术 硬件要求:阿里云云主机ECS 一台。 软件要求:Linux/ Windows 操作系统 3.1 tcpdump 基本用法 tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的

    2023年04月17日
    浏览(49)
  • 计算机网络-实验(4)IP 协议分析及路由跟踪

    - 我的计算机的IP地址是:172.23.10.52 - 马萨诸塞大学服务器的IP地址:128.119.245.12 - ICMP(1) - IP头部中有: 20 bits - IP数据报的有效载荷中有: 40 bits - 有效载荷字节数是除了IP的基本报头以外的其他部分的总长度,IP数据总共有 60 bits ,而IP头部有 20 bits ,因此其有效载荷字节数为 40 bits

    2024年02月06日
    浏览(43)
  • 网络程序设计实验-TCP/IP协议栈源代码分析

    ​ inet_init代码如下: 调用inet_init的过程中,涉及到的函数如下: 1. start_kernel: start_kernel 是Linux内核的启动函数,定义在 init/main.c 文件中。 在启动过程中,首先执行 start_kernel ,这个函数负责进行内核的初始化工作。 2. rest_init: 在 start_kernel 中,会调用 rest_init 函数,该函数的

    2024年02月03日
    浏览(71)
  • 网络程序设计实验:TCP/IP协议栈源代码分析

    深入理解TCP/IP协议栈的源代码结构和功能,探究其与上层套接口和下层数据链路层的关联方式。 分析TCP的三次握手过程,理解其状态转换和数据传输机制。 掌握send和recv操作在TCP/IP协议栈中的执行路径,探究其与上层应用程序的交互方式。 了解路由表、ARP缓存以及IP到MAC地址

    2024年02月03日
    浏览(64)
  • 网络程序设计专题实验:TCP/IP协议栈源代码分析

    inet_init是如何被调用的?从start_kernel到inet_init调用路径 跟踪分析TCP/IP协议栈如何将自己与上层套接口与下层数据链路层关联起来的? TCP的三次握手源代码跟踪分析,跟踪找出设置和发送SYN/ACK的位置,以及状态转换的位置 send在TCP/IP协议栈中的执行路径 recv在TCP/IP协议栈中的执

    2024年02月02日
    浏览(69)
  • 《计算机网络—自顶向下方法》 Wireshark实验(六):IP 协议分析

            IP 协议(Internet Protocol),又译为网际协议或互联网协议,是用在 TCP/IP 协议簇中的网络层协议。主要功能是无连接数据报传送、数据报路由选择和差错控制。IP 协议是 TCP/IP 协议族的核心协议,其主要包含两个方面: IP 头部信息。IP 头部信息出现在每个 IP 数据报

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包