分享
分享赚钱 收藏 举报 版权申诉 / 8

类型实验五:Ethereal Lab ICMP实验讲义.doc

  • 上传人:yjrm16270
  • 文档编号:8003638
  • 上传时间:2019-06-03
  • 格式:DOC
  • 页数:8
  • 大小:751.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    实验五:Ethereal Lab ICMP实验讲义.doc
    资源描述:

    1、 实验五:Ethereal Lab ICMP 协议一、实验目的本实验中将研究 ICMP 协议的以下几个方面:1)由 Ping 程序生成的 ICMP 报文;2)由 Traceroute 程序生成的 ICMP 报文;3)ICMP 报文的格式与内容。二、实验原理由于 IP 协议只提供不可靠和无连接的数据报服务,没有差错控制机制,所以当网络或主机发生故障而导致 IP 报文不能到达目的节点时,IP 协议无法通知源主机,因特网控制报文协议(ICMP)可以弥补 IP 协议的这一不足。报文发送过程中发生差错的路由器或主机利用 ICMP 向 IP 数据报的源主机报告差错或意外情况,另外主机可以利用 ICMP 查

    2、询路由器或其他主机的一些信息。ICMP 工作在网络层,通过封装在 IP 数据报进行传送,ICMP 报文格式及类型分类如下图所示。其中类型字段定义报文类型,代码字段指明了发送该类型报文的详细原因。ICMP 的一个应用是 ping 命令,它可以测试目的主机或路由器是否可达。运行 ping 命令的主机向目的主机发送一个 ICMP 请求回显报文,目的主机收到后,立即生成一个 ICMP 回显应答报文,向源主机返回,源主机收到后可以确定目的主机可达。ICMP 的一个另一应用是 traceroute 命令(在 Windows 环境下为tracert),它可以跟踪从源端到目的端的整个路径上的路由器。在 Win

    3、dows 环境下,通过向目的端不断发送 ICMP 请求回显报文,第一个报文 TTL=1,则收到含有第一跳路由器 IP 地址的 ICMP 超时报文,第二个报文 TTL=2,则收到含有第二跳路由器 IP 地址的 ICMP 超时报文,依此类推,最后收到目的主机的 ICMP 回显应答报文。在 UnixLinux 环境下 traceroute 程序使源主机使用一个不可达端口号向目的主机发送一系列 UDP 分组,原理与此类似,不再赘述。三、实验步骤与实验问题探讨【注:实验步骤应用(x),问题用x】本实验在 Microsoft Windows 操作系统环境下进行,但是可以直接转换到Unix 或 Linux

    4、环境下进行。1.ICMP 和 Ping首先捕获由 Ping 程序生成的分组来开始 ICMP 的实验。Ping 程序是一个简单的工具,允许任何人(比如一个网络管理员)来确定一台主机是否可达。由源主机上的 Ping 程序向目标 IP 发送一个分组,如果目标主机可达,在目标主机上的 Ping 程序将返回一个分组给源主机,这两种分组都是 ICMP 分组。执行下列操作步骤:(1)打开“命令行提示符”程序(在“附件”中可以找到)(2)启动 Ethereal 分组嗅探器,开始 Ethereal 分组捕获。(3) ping 命令在 C:Windowssystem32 里,在 MS-Dos 命令行中键入ping

    5、 n 10 hostname 或 C:Windowssystem32ping n 10 hostname,这里hostname 指的是网络中的另一个主机名。如果你不在亚洲,你可以访问www.ust.hk 即位于香港科技大学的网络服务端口。参数“-n 10”表明应该发出 10 个 ping 报文,点击回车运行 ping 程序。当 ping 程序停止后,停止 Ethereal 的分组捕获。实验结束后,你的“命令行提示符”窗口看起来像图.在这个例子中,源 Ping 程序在马萨诸赛而目的 Ping 程序在香港。从这个窗口中我们看到:源ping 程序发出了 10 个请求分组收到 10 个响应。另外对于每

    6、个响应,源主机计算了往返时延 RTT,对于这 10 个分组的平均时延是 375 毫秒。图 1 输入 Ping 命令后的“命令行提示符”窗口图 2 Ethereal 捕获的 Ping 程序信息(展开 Internet 协议)图为在 filter display window 中输入 icmp 后截取的 Ethereal 输出图。注意:packet listing 窗口显示了 20 个分组,即由源端发出的 10 个 ping 请求和由源端收到的 10 个 ping 响应。另外,源 IP 是一个形式为192.168.101/24 的私有地址目的 IP 是香港科技大学的网络服务器地址。现在我们把目光聚

    7、焦到由客户端发送的第一个分组上在下图中,packet content window 提供了这个分组的信息。这个分组里的 IP 数据报有一个协议号(0x01) ,这是 ICMP 的协议类型编号,这意味着该 IP 数据报的载荷是一个ICMP 分组。图 3 Ethereal 捕获的 ICMP 分组信息图仍关注同一个 ICMP 分组,在 packet content window 将 ICMP 协议信息展开。观察这个 ICMP 分组类型为,代码为,即一个所谓的 ICMP 回送请求包。另外,这个 ICMP 分组还包括一个校验和、一个标识符和一个序列号。实验问题探讨:(注:如果你无法为 Ethereal

    8、建立一个网络连接,或者 ping 程序无法获得正常的响应,可以从 http:/gaia.cs.umass.edu/ethereal -labs/ethereal-traces.zip 下载压缩文件,解压获得 icmp-ethereal-trace-1 文件,该 trace 文件是在作者机器上执行 Ethereal 实验获得的,一旦下载后,你可以将其装入 Ethereal,用 File-Open-选择 ICMP-ethereal-trace-1 来打开它,你可以利用该文件来回答下列问题)请回答下列问题:1你的主机 IP 是多少?目的主机 IP 是多少?答:主机 192.168.1.101目的:1

    9、43.89.14.342为什么一个 ICMP 分组没有源端口号和目的端口号?答:它是控制协议,不需要端口号,只在网络层3观察由你主机发送的一个 ping 请求分组。ICMP 的类型和编码是多少?这个 ICMP 分组还有其他字段吗?校验和、序列号、标识符字段各占多少字节?答:类型:8 编码 0有,校验和、序列号、标识符字段,数据段等校验和:2 个字节序列号:2 个字节标识符字段:2 个字节4观察相应的 ping 应答分组。ICMP 的类型和编码是多少?这个 ICMP 分组还有其他字段吗?校验和、序列号、标识符字段各占多少字节?答:类型:0编码:02.ICMP 与 Traceroute现在捕获由

    10、Traceroute 程序产生的分组。Traceroute 程序可以显示一个分组从源主机到目的主机所使用的路径。在 Unix/Linux 和 Windows 中 Traceroute 采用不同的方法实现。在 Unix/Linux 中源主机使用一个不可达端口号向目的主机发送一系列 UDP 分组。在Windows 中,源主机向目的主机发送一系列 ICMP 分组。对于这两类操作系统,程序所发送的第一个分组的 TTL 都为 1,第二个分组的 TTL 为 2 ,依次类推。当一个分组每经过一个路由器时路由器将分组的 TTL 减 1,若一个分组到达一个路由器时 TTL 已为 1,路由器将向源主机返回一个 I

    11、CMP 报错分组。在下面的实验中将使用 Windows 自带的 tracert 程序。而pingplotter()是一种更好的共享的 Windows Traceroute 程序。因为它提供了一些我们需要的其他功能,所以在 IP 实验中我们将使用 pingplotter。进行下列操作:(注:如果你无法为 Ethereal 建立一个网络连接,或者 ping 程序无法获得正常的响应,可以从 http:/gaia.cs.umass.edu/ethereal -labs/ethereal-traces.zip 下载压缩文件,解压获得 icmp-ethereal-trace-2 文件,该 trace 文件

    12、是在作者机器上执行 Ethereal 实验获得的,一旦下载后,你可以将其装入 Ethereal,用 File-Open-选择 ICMP-ethereal-trace-2 来打开它,你可以利用该文件来回答问题)(1)打开 Windows 的“命令提示符”应用程序(在附件中可以找到)(2)启动 Ethereal 分组嗅探器,开始 Ethereal 分组嗅探(3)Tracert 命令在文件夹 C:Windowssystem32 中,所以在 MS-Dos 命令行中输入 tracert hostname 或 C:Windowssystem32tracert hostname,这里 hostname 表示

    13、网络中的另一台主机名。 (注意:在 Windows 主机上,这个命令是 tracert 而不是 traceroute!)如果你不在欧洲,hostname 参数你可以输入 www.inria.fr 来访问 INRIA 的网络服务器,INRIA 为法国计算机科学研究院,然后回车运行 Traceroute 程序。(4)Traceroute 程序结束后,停止 Ethereal 的分组捕获图 4:“命令提示符”窗口中 Traceroute 程序的运行结果实验结束后,命令提示符窗口与图 4 相似。图 4 里,客户端的Traceroute 程序在马萨诺赛,目的主机在法国。从图中可见,在每个 TTL 值源程序

    14、都发送三个测试分组,窗口中显示了每个测试分组的 RTT 值,以及返回 ICMP TTL 超时信息的路由器的 IP 地址(如有可能还包括名字) 。图 5:Ethereal 捕获的 ICMP 分组报错信息图 5 显示的是路由器返回一个 ICMP 分组时的 Ethereal 窗口。注意:这个ICMP 报错分组比 Ping ICMP 分组包含了更多的字段。实验问题探讨:5你主机的 IP 是多少?目标主机 IP 是多少?答:主机的 IP:192:168:1:101目标主机 IP:138:96:146:26如果 IP 发送的是 UDP 包(就像 Unix/Linux),那么测试分组中的协议号还是 01 吗

    15、?如果不是,它应是多少?答:不是 UDP 是 177观察你的屏幕截图中的 ICMP echo 请求回显分组 Time to live 取值,它与上个实验中的 ICMP Ping 请求分组中的 Time to live 相同吗?答:不同 是不断变化的而上个实验全是 1288观察截屏上的 ICMP 报错分组,它比 ICMP echo 请求回显分组有更多的字段,这些字段包括哪些内容?答:Internet Protocol,Internet Control Message Protocal9检查源主机收到的最后三个 ICMP 分组,这三个分组与 ICMP 报错报文有何不同?为什么不同?答:最后三个返回分组 Type=0;之前的报错分组 Type=1110在 tracert 测量的时延中(参照图 4)有一个链接的时延明显的比别的链接长吗?根据路由器的名称,你能猜出这段链接的两端的路由器的位置吗?答:马萨诺赛 和 法国11在 UnixLinux 环境下 traceroute 程序中,源主机使用一个不可达端口号向目的主机发送一系列 UDP 分组,结合 TTL 和 ICMP 报错机制,分析其工作原理。答:TTL 每经过一条就减 1 当 TTL 等于 0,路由器会向源主机发送报错报告,从而可以知道数据包经过路径。

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:实验五:Ethereal Lab ICMP实验讲义.doc
    链接地址:https://www.docduoduo.com/p-8003638.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开