1、计算机网络实验之ICMP协议数据包格式计算机网络实验报告实验课程名称 计算机网络实验报告 实验项目名称 分析ICMP协议数据包格式 专 业 班 级 学 生 姓 名 学 号 交通运输学院实验时间:2013年04月22日一、 实验名称实验2 分析ICMP协议数据包格式二、 实验目的掌握ICMP协议的作用和格式;理解ICMP数据包首部各字段的含义;理解ICMP协议与IP协议的封装关系;三、 实验器材ICMP协议是IP协议的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP与IP协议位于同一个层次(IP层),但ICMP报文是封装在IP数据报的数据部分进行传输的。 四、
2、实验内容(步骤)打开wireshark,选择菜单命令“Capture”“Interfaces”子菜单项。弹出“Wireshark: Capture Interfaces”对话框。单击“Options”按钮,弹出“Wireshark: Capture Options”对话框。Capture filter字段填入:“icmp”,单击“Start”按钮开始网络数据包捕获。2. 打开“命令提示符”窗口,使用“Ping”命令测试本机与网关的连通性。在使用“Ping”命令测试本机与网关的连通性时,本地计算机向网关发送_4_个ICMP数据包,网关也会向本地计算机发送_4个应答报文。因此,这_8_个报文将被网
3、络协议分析软件捕获。3. 单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的ICMP数据包。观察协议树区中ICMP数据包结构,是否符合ICMP请求与应答的报文格式。ICMP(Internet Control Message Protocol,因特网控制报文协议)类型(1个字节):8,表示是一个ICMP回显请求报文; 代码:0,表示网络不可达; 校验和:表示ICMP的0x4a5b;使用IP校验和的算法。 标识:0x0001 序列号:768 (0x0300),每一个ICMP回显报文都有一个序列号且是递增的 数据:表示是一个32字节的数据观察协议树区中ICMP数据包结构,可以得
4、知是符合ICMP请求与应答的报文格式。ICMP报文由首部和数据段组成。首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异。ICMP报文的一般格式如图所示。4. 重新开始网络数据包捕获进程,在“命令提示符”窗口中使用“Tracert”命令,停止网络数据报捕获,分析捕获的数据包。5. 6. 网络协议分析软件将捕获“数据报超时报告”,分析捕获的数据包时要注意IP首部中的TTL字段。捕获的数据包的TTL字段从1递增到8,且对应每个相同的TTL有三个数据包,都为40字节。第8个没有ICMP time exceeded消息,因为已到达目的地。ICMP time exceeded
5、消息:7. 重新开始网络数据包捕获进程,在“命令提示符”窗口中使用“Ping 127.0.0.1”命令,停止网络数据报捕获,分析捕获的数据包。8. 未捕获任何数据包。9. 重新开始网络数据包捕获进程,在“命令提示符”窗口中使用“Ping”命令,参数为本机名或本机IP地址,停止网络数据报捕获,分析捕获的数据包。10. 11. 12. 。未捕获任何数据包五、思考题: ( 1 ) 运行ping 127.0.0.1,再运行ping本机名(或本机IP地址)。在检测机端是否捕获到相应的ICMP回显请求报文? 没有,1。本计算机的设置问题 2 学校网络问题 ( 2 ) Tracert程序都利用了什么协议?M
6、AC帧协议,Eathernet V2协议,point-to-point协议,IP协议,ICMP协议( 3 ) 根据捕获的数据包分析Tracert程序共发送了几个数据包,每次发送的包的TTL值是什么?说明程序发现路由的原理。一共发送了24个数据包,每tracert一个路由就发送3个数据包,TTL值从1到8依次递增。每个数据包相应的返回一个ICMP time exceeded消息,只有第8个不返回任何消息。 Tracert程序的设计是利用ICMP及IP header的TTL(Time To Live)字段。首先,Tracert送出一个TTL是1的IP datagram(其实,每次送出的为3个40字
7、节(我收到的是92个字节?)的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个ICMP time exceeded消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),Tracert收到这个消息后,便知道这个路由器存在于这个路径上,接着Tracert再送出另一个TTL是2 的datagram,发现第2 个路由器. Tracert每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1