资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
实验五Internet控制报文协议ICMP实验目的1 .掌握使用Ethereal工具对ICMP协议进行抓包分析的方法。2. 理解不同类型ICMP报文的具体意义。3通过实验,进一步了解 ICMP 协议。实验环境1 安装Windows2000/2003Server/XP操作系统的PC计算机一台。2.每台PC具有一块以太网卡,通过双绞线与局域网相连。 3每台 PC 运行网络协议分析软件 wireshark。实验原理ICMP 是 Internet Control Message Protocol(Internet 控制报文协议)的缩写,是 TCP/IP 协议族的一个子协议,用于在主机和路由器之间传递控制消息。控制消 息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。由于 IP 网络的不可靠并且不能保证信息传递,因此当发生问题时,通知发送者是很重要 的。ICMP协议提供有关阻止数据包传递的网络故障问题反馈信息的机制,它让 TCP等上层协议能够意识到数据包没有送达目的地,ICMP协议提供一种查出灾 难性问题的方法。这些灾难性的问题包括“TTL Exceeded” (超过生存时间)和“需 要分更多的数据段”等。ICMP协议不报告IP校验失败等常见的问题。这是因为 假定 TCP 或者其他可靠的协议能够处理这类数据包损坏的问题。而且,如果使 用 UDP 等不可靠的协议,我们就不应理会较小数量的数据损失。反之,如果网络有问题则需要立即报告。例如,当IP的TTL值(IP生存时 间)将达到零,这就可能是网络的某个部分发生了路由环路问题,这样将没有任 何数据包能发送到目的地。端点系统需要了解这些类型的故障。ICMP是一种发 送各种消息,用于报告网络状态的协议,而非仅仅是简单的ping(连通性测试程 序)。回应请求(Echo Request)仅是ICMP协议提供的众多消息之一。Ping信息可 以被过滤掉。但是,大多数 ICMP 消息类型是 IP、TCP 和其他协议正常运行所 需要的。ICMP协议本身非常复杂。每一种类型的ICMP消息也称“主要类型(Major Type)”,它拥有自己的“子类型编码(Minor Codes)”。ICMP协议工作在第3层, 因此,它能够在互联网上路由。一个ICMP数据包实际上就是一个IP数据部分 包含 ICMP 协议数据的 IP 数据包。每一个 ICMP 消息都将包含引发这条 ICMP 消息的数据包的完全 IP 包头,这样端点系统就会知道实际上哪一个数据包没有 发送到目的地。ICMP协议消息包含不会变化的3个字段,随后是ICMP数据,然后是引发 此消息的源IP数据包包头。不会变化的3个字段中,第1个字段包含ICMP类 型(主要类型)、第2个字段包含了类型代码、第3个字段是ICMP消息校验值。ICMP协议在某些情况下不会发送错误信息。ICMP不会对ICMP信息做出 响应。如果 ICMP 回应其他 ICMP 消息,这些消息的数量会爆炸性增长而演变为 一场ICMP消息风暴。为了防止出现广播风暴,ICMP消息也不会回应一个广播 或者多播地址。各种ICMP的报文格式如下:目的不可达报文类型:3代码:0至12检验和未使用(全0)收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节源端抑制报文类型:4代码:0检验和未使用(全0)收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 超时报文类型:11代码:0或1检验和未使用(全0)收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 参数问题类型:12代码:0或1检验和指针未使用(全0)收到的IP数据报的-一部分,包括IP首部以及数据报数据的前8个字节 改变路由类型:5代码:0到3检验和目标路由器IP地址收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 回送请求和回答类型:8或0代码:0检验和标识符序号由请求报文发送;由回答报文重复 时间戳请求和回答类型:13或14代码:0检验和标识符序号原始时间戳接收时间戳发送时间戳 地址掩码请求和回答类型:17或18代码:0检验和标识符序号地址掩码 路由询问和通告类型:10代码:0检验和标识符序号类型:9代码:0检验和地址数地址项目长度寿命路由器地址1优先级1路由器地址2优先级2实验步骤一、ping命令使用的ICMP信息包Ping 命令格式如下:ping -t -a -n count -l size -f -i TTL -v TOS -r count -s count-j host-list | -k host-list -w timeout target_name这里对实验中可能用到的参数解释如下:-t :用户所在主机不断向目标主机发送回送请求报文,直到用户中断;-n count:指定要Ping多少次,具体次数由后面的count来指定,缺省值为 4;-1 size:指定发送到目标主机的数据包的大小,默认为32字节,最大值是 65527;-w timeout :指定超时间隔,单位为毫秒; target_name:指定要ping的远程计算机。1. 启动 wireshark 协议分析工具,开始抓包。2.点击“开始菜单,在运行中输入“cmd”,进入Windows系统的命令行模式, 在命令行模式下输入“ping 192.168.*,如图1所示。ping结束后,停止抓包程序,并在wireshark中的“Filter域中输入关键字 “ICMP”,点击“Apply”按钮,将非ICMP数据包过滤掉。如图2所示。在中 间窗口的“Internet Protocol”中可以看到,协议号为01,表明是一个ICMP格式 的数据包。图 2 wireshark 捕获的 ping 程序数据包查看数据包内容窗口中的“Internet Control Message Protocol ”,可以看到该 ICMP 数据包的协议类型为 8(Type 8),代码为 0(Code 0),表明是一个 ICMP 请求(Request)数据包。如图3所示,请注意其他字段“Identifier” “Sequence number 和“Data”的内容。File Edit View Go Capture Analyze Statistics T elephony Tools Help剽無曲飆獵L白白沢咼丨瞪乔殳丨凰叵丨0 Q 門皿回电雕丄No. -TimeSourceDestinationPrut匚 口1Info34 2.977715192.168.112.253192.168.112.252I匚丽PEchoCpinq)request35 2.977850192.168.112.252192.168.112.253ICMPEcho(ping)reply45 3.977870192.168.112.253192.168.112.252ICMF1Echo(ping)request46 3.978019192.168.112.252192.168.112.253I匚MPEchoCpmg)reply53 4.977891192.168.112.253192.168.112.252ICMPEcho(ping)request54 4.978052192.168.112.252192.168.112.253ICMPEcho(ping) reply65 5.977882192.168.112.253192.168.112.252I匚MPEchoCpmg)request66 5.978055192.168.112.252192.168.112.253ICMPEcho(ping)replyFilter: icmpExpression.匚lear Apply0000001000200030004 0ping程序icmp包扩展o o o o o 7,分*析看这些ICMP 协议包护阿日画答城下 问题:Profile: Default Frame 34 (74 bytes on wire, 74 bytes captured) Ethernet II, src: Realteks_46:2f:f2 (00:e0:4c:46:2尸汁2), Dst: Realrek5_46:2f:d9 (00:e0:4c:46:2f:d9) Internet Protocol, Src: 192.168.112.253 (192.168.212.253), Dst: 192.168.112.252 (12.168.112.252)bi internet control Message ProtocolType: 8 (Echo (ping) request)匚口匸佢:o C)checksum: ux/dc correct鑒囂鳥霊穿人ICMP协议部分 Data (32 bytes)(1)本机的IP地址是目标主机的IP地址是一共截获了几个ICMP报文?分别属于那种类型?(3) 分析截获的 ICMP 报文,查看表 1 中要求的字段值,填入表中。表1 ICMP 报文分析” * 9源IP目标IPICMP报文格式类型标识(4) 分析在上表中哪个字段保证了回送请求报文和回送应答报文的一一对应?二、traceroute程序使用的ICMP信息包Traceroute 命令用来获得从本地计算机到目的主机的路径信息。在 MSWindows中该命令为Tracert,而UNIX 系统中为Traceroute。Tracert 先发送 TTL 为 1 的回显请求报文,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。它所返回的信 息要比 ping 命令详细得多, 它把您送出的到某一站点的请求包,所走的全部路 由均告诉您,并且告诉您通过该路由的IP是多少,通过该IP的时延是多少。Tracert 命令同样要在安装了 TCP/IP 协议之后才可以使用,其命令格式为: tracert -d -h maximum_hops -j computer-list -w timeout target_name 参数含义为:-d :不解析目标主机的名称;-h :指定搜索到目标地址的最大跳跃数;j按照主机列表中的地址释放源路由;-w:指定超时时间间隔,程序默认的时间单位是毫秒。1. 启动 wireshark 协议分析工具,开始抓包。2. 然后点击“开始菜单,在运行中输入“cmd”,进入Windows系统的命
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号