《计算机网络(实验五)》由会员分享,可在线阅读,更多相关《计算机网络(实验五)(7页珍藏版)》请在金锄头文库上搜索。
1、实验五一、实验内容在这个实验室里,我们将探讨ICMP协议的几个方面:由Ping项目产生的ICMP信息Traceroute程序生成的ICMP消息关于ICMP信息的格式和内容。在攻击这个实验室之前,我们鼓励您在第4.4.3节中回顾ICMP的内容text1。我们在微软Windows操作系统的背景下展示了这个实验室系统。然而,将实验室转换为Unix或Linux环境是很简单的。1、 ICMP和Ping让我们通过捕获Ping程序生成的数据包来开始我们的ICMP冒险。您可能还记得Ping程序是一个简单的工具,它允许任何人(例如,a网络管理员)来验证主机是否存在。源的Ping程序主机向目标IP地址发送数据包;
2、如果目标是活的,Ping程序在目标主机的响应是将数据包发送回源主机。您可能已经猜测(考虑到这个实验室是关于ICMP的),这两个Ping包都是ICMP数据包。进行如下操作:让我们通过打开Windows命令提示应用程序开始这次冒险(可以在你的附件文件夹中找到)。启动Wireshark包嗅探器,并开始Wireshark包捕获。ping司令部位于c:windows system32,所以键入“ping-n 10”主机名“或”c:windows system32 pingn 10主机名“在MS-DOS中命令行(没有引号),主机名是另一个主机的主机大陆。如果你在亚洲之外,你可能想要进入www.ust.hk
3、香港科技大学的网络服务器。这个论点“-n 10”表示应该发送10条ping消息。然后运行平程序通过输入返回。当Ping程序终止时,停止Wireshark中的数据包捕获。在实验的最后,您的命令提示窗口应该是什么样子的。如图1所示。在这个例子中,源ping程序位于马萨诸塞州目的地平计划在香港。从这个窗口我们可以看到源ping程序发送了10个查询包并收到10个回复。还要注意每一个响应,源计算往返时间(RTT),这是10个包的on平均375毫秒。输入Ping命令后的命令提示窗口。图2提供了Wireshark输出的屏幕截图,在“icmp”被输入之后进入过滤器显示窗口。注意,数据包清单显示了20个数据包:
4、10 Ping源发出的查询和源收到的10个Ping响应。还要注意源的IP地址是表单192.168/12的私有地址(在NAT后面);目的地的IP地址是香港科大的网络服务器。现在我们来放大一下第一个包(由客户端发送);在下面的图中,包内容区域提供了关于这个包的信息。我们看到这个包中的IP数据报有协议编号01,它是ICMP的协议号。这意味着有效载荷IP数据报是一个ICMP包。图2利用因特网协议扩展Ping程序的线鲨输出。图3关注的是相同的ICMP,但是已经扩展了ICMP协议信息数据包内容窗口。注意这个ICMP包的类型为8,代码为0-a所谓的ICMP“回声请求”包。(见图4.23)也请注意,这ICMP
5、包包含一个校验和、一个标识符和一个序号。图3中使用ICMP包的ping包捕获如何上交您应该提交与图1相似的命令提示窗口的屏幕快照以上。只要有可能,在回答下面的问题时,你应该交一份在您用来回答问题的跟踪中打印出数据包(s)。注释printout3来解释你的答案。要打印一个包,使用文件-打印,选择只选择数据包,选择包汇总行,并选择最小数量的。你需要回答这个最小包的细节。1. What is the IP address of your host? What is the IP address of the destination host?2. Why is it that an ICMP pac
6、ket does not have source and destination portnumbers?因为ICMP数据包在网络层封装在IP数据包中,因此不需要destination和source3. Examine one of the ping request packets sent by your host. What are the ICMP type and code numbers? What other fields does this ICMP packet have? How many bytes are the checksum, sequence number and
7、 identifier fields?检查您的主机发送的ping请求数据包中的一个。什么是ICMP类型和代码号?这个ICMP包还有什么其他的字段?有多少字节,校验和、序列号和标识符字段?ICMP类型为8,代码号为0。这个包有checksum,identifier(BE)为512字节, identifier(LE)为2字节,sequence number(BE)为26369字节,sequence number(LE)为359字节。4. Examine the corresponding ping reply packet. What are the ICMP type and code numb
8、ers? What other fields does this ICMP packet have? How many bytes are the checksum, sequence number and identifier fields?检查相应的ping应答包。什么是ICMP类型和代码数字?这个ICMP包还有什么其他的字段?有多少字节校验和,序列号和标识符字段?类型为0,代码为0,这个包有checksum,identifier 为512字节,sequence number(BE)字段为26369字节,sequence number(LE)字段为359字节。2、ICMP和tracerou
9、te现在让我们继续我们的ICMP冒险,通过捕获由路由跟踪程序。您可能还记得Traceroute程序可以用来计算从源到目的地的路径。Traceroute在章节中讨论1。4和4。4节。Traceroute以不同的方式在unix/linux/macos和Windows中实现。在unix/linux,源向目标目的地发送一系列UDP数据包,使用一个不太可能目的地端口号;在Windows中,源发送一系列ICMP包到目标目的地。对于两个操作系统,程序发送第一个数据包用TTL=1,第二个带TTL=2的包,以此类推。回想一下,路由器将会当数据包通过路由器时,减少数据包的TTL值。当一个数据包到达一个带有TTL=
10、1的路由器时,路由器将一个ICMP错误数据包发送回源。在下面,我们将使用本机Windows tracert程序。一个共享软件版本许多漂亮的Windows Traceroute程序是ping绘图仪()。我们会在Wireshark的IP实验室中使用ping绘图器,因为它提供了额外的功能.我们需要在那里做下面的事情。让我们从打开Windows命令提示应用程序开始(可以是在你的附件文件夹中找到)。启动Wireshark包嗅探器,并开始Wireshark包捕获。tracert命令在c:windows system32中,所以输入“tracert”在MS-DOS命令中,主机名“或”c:windows sy
11、stem32 tracert主机名。行(没有引号),主机名是另一个大陆上的主机。(注意,在Windows机器上,命令是“tracert”而不是“traceroute”。)如果你在欧洲之外,你可能想要进入www.inria.fr。在法国的计算机科学研究所INRIA的Web服务器。然后通过键入return来运行Traceroute程序。当Traceroute程序终止时,停止在Wireshark中捕获数据包。在实验的最后,您的命令提示窗口应该是什么样子的如图4所示。在这个图中,客户端Traceroute程序在马萨诸塞州和目标目的地在法国。从这个图中我们可以看到,对于每一个TTL值,源程序发送三个探测
12、包。Traceroute为每一个都显示rtt探测数据包,以及路由器的IP地址(可能是名称)返回ICMP ttl-超标的消息。图4命令提示窗口显示Traceroute程序的结果。图5显示了由路由器返回的ICMP数据包的Wireshark窗口。请注意这个ICMP错误包包含比Ping ICMP消息更多的字段。图5的ICMP字段的Wireshark窗口扩展为一个ICMP错误包。如何上交:对于这个实验室的这一部分,您应该提交命令提示符的屏幕截图窗口。只要有可能,在回答下面的问题时,你应该交一份在您用来回答问题的跟踪中打印出数据包(s)。注释打印输出来解释你的答案。要打印一个包,使用文件-打印,选择只选择
13、数据包,选择包汇总行,并选择最小数量的,你需要回答这个问题的包细节。5. What is the IP address of your host? What is the IP address of the targetdestination host?6. If ICMP sent UDP packets instead (as in Unix/Linux), would the IP protocolnumber still be 01 for the probe packets? If not, what would it be?因为它的上层协议是UDP。7. Examine the I
14、CMP echo packet in your screenshot. Is this different from theICMP ping query packets in the first half of this lab? If yes, how so?两者的checknum,sequence number,data不同。8. Examine the ICMP error packet in your screenshot. It has more fields than the ICMP echo packet. What is included in those fields?没
15、有错误报文。9. Examine the last three ICMP packets received by the source host. How are these packets different from the ICMP error packets? Why are they different?检查源主机接收的最后三个ICMP数据包。这些数据包与ICMP错误数据包有什么不同?他们为什么不同?10. Within the tracert measurements, is there a link whose delay is significantly longer than
16、 others? Refer to the screenshot in Figure 4, is there a link whose delay is significantly longer than others? On the basis of the router names, can you guess the location of the two routers on the end of this link?在tracert的测量中,是否有一个链接的延迟比其他的要长得多?请参考图4中的屏幕截图,是否有一个链接的延迟比其他链接长得多?在路由器名称的基础上,您能猜出这段链接末尾的两个