实验五网络分析软件使用及网络层协议分析一、实验目的1、掌握WireShark网络协议分析软件使用。
2、掌握ping 和tracert 命令的使用方法,了解ICMP 协议报文类型及作用。
3、理解IP协议报文类型和格式,掌握IP V4 地址的编址方法。
4、分析ARP 协议的报文格式,理解ARP 协议的解析过程。
二、实验方式每位同学各自独立完成实验。
三、实验内容1、ICMP协议分析实验执行ping 和tracert 命令,分别截获报文,分析截获的ICMP 报文类型和ICMP 报文格式,理解ICMP 协议的作用。
目前网络中常用的基于ICMP 的应用程序主要有ping 命令和tracert 命令。
(1)ping 命令Ping 命令是调试网络常用的工具之一。
它通过发出ICMP Echo 请求报文并监听其回应来检测网络的连通性。
图 1 显示了Wireshark 捕获的ICMP Echo 请求报文和应答报文。
图 1 ICMP Echo 请求报文和应答报文Ping 命令只有在安装了TCP/IP 协议之后才可以使用,其命令格式如下: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;-l size:指定发送到目标主机的数据包的大小,默认为32 字节,最大值是65,527;-w timeout:指定超时间隔,单位为毫秒;target_name:指定要ping 的远程计算机。
(2)Traceroute 命令Traceroute 命令用来获得从本地计算机到目的主机的路径信息。
在MS Windows 中该命令为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:指定超时时间间隔,程序默认的时间单位是毫秒。
2、IP协议分析实验使用Ping 命令在两台计算机之间发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。
3、IP 数据报分片实验IP 报文要交给数据链路层封装后才能发送。
理想情况下,每个IP 报文正好能放在同一个物理帧中发送。
但在实际应用中,每种网络技术所支持的最大帧长各不相同。
例如:以太网的帧中最多可容纳1500 字节的数据;FDDI帧最多可容纳4470 字节的数据。
这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。
TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。
当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。
每个较小的报文被称为一个分片(Fragment)。
每个分片都有一个IP 报文头,分片后的数据报的IP 报头和原始IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。
图 5.2 显示了Wireshark 捕获的IP 数据报分片的分析情况,可参考。
图 5.2 IP 数据报分片示例重组是分片的逆过程,分片只有到达目的主机时才进行重组。
当目的主机收到IP 报文时,根据其片偏移和标志MF 位判断其是否一个分片。
若MF 为0,片偏移为0,则表明它是一个完整的报文;否则,则表明它是一个分片。
当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。
4、ARP协议分析实验Arp 命令简介本次实验使用的Windows自带的Arp命令提供了显示和修改地址解析协议所使用的地址映射表的功能。
Arp 命令的格式要求如下:ARP -s inet_addr eth_addr [if_addr]ARP -d inet_addr [if_addr]ARP -a [inet_addr] [-N if_addr]其中:-s:在ARP 缓存中添加表项:将IP 地址inet_addr 和物理地址ether_addr 关联,物理地址由以连字符分隔的 6 个十六进制数给定,使用点分十进制标记指定IP 地址,添加项是永久性的;-d:删除由inet_addr 指定的表项;-a:显示当前ARP 表,如果指定了inet_addr 则只显示指定计算机的IP 和物理地址;inet_addr:以点分十进制标记指定IP 地址;-N:显示由if_addr 指定的ARP 表项;if_addr:指定需要选择或修改其地址映射表接口的IP 地址;ether_addr:指定物理地址;四、实验步骤1、ICMP协议分析步骤1:分别在PC1 和PC2 上运行Wireshark,开始截获报文,为了只截获和实验内容有关的报文,将Wireshark 的Captrue Filter 设置为“icmp”;步骤2:在PC1 以PC2 为目标主机,在命令行窗口执行Ping 命令;请写出执行的命令:_ping 192.168.1.8___________________________步骤3:停止截获报文,将截获的结果保存为ICMP-1-学号,分析截获的结果,回答下列问题:1)您截获几个ICMP 报文?分别属于那种类型?两个报文,分别属于Echo(ping)reguest和Echo(ping)reply____________2)分析截获的ICMP 报文,查看表5.1 中要求的字段值,填入表中。
分析在上表中哪个字段保证了回送请求报文和回送应答报文的一一对应,仔细体会Ping 命令的作用。
答:序列号保证了回送报文和请求报文。
使用ping命令可以很方便的检测到网络的连通情况。
步骤5:在PC1上执行Tracert命令,向一个本网络中不存在的主机发送数据报,如:Tracert 172.16.20.200;步骤6:停止截获报文,将截获的结果保存为ICMP-2-学号,分析截获的报文,回答下列问题:1)截获了报文中哪几种ICMP 报文?其类型码和代码各为多少?_____一种报文:Time-to-live exceeded,类型11,代码0_______________2)在截获的报文中,超时报告报文的源地址是多少?这个源地址指定设备和PC1 有何关系?超时源地址为192.168.1.1_。
这个源地址指定设备就是PC1的IP地址_3)通过对两次截获的ICMP 报文进行综合分析,仔细体会ICMP 协议在网络中的作用。
答:作用:发送请求和接受应答。
2、IP协议分析步骤1:截获PC1 上ping PC2 的报文,结果保存为IP-学号;步骤4:任取一个数据报,分析IP 协议的报文格式,完成下列各题:1)分析IP 数据报头的格式,完成表5.2;表 5.2 IP协议2)查看该数据报的源IP 地址和目的IP 地址,他们分别是哪类地址?体会IP 地址的编址方法。
源地址:192.168.1.9 类地址;目的IP 地址192.168.1.1 类地址,IP地址是点分十进制方式,每段8位3、IP数据报分片实验步骤1:在PC1、PC2 两台计算机上运行Wireshark,为了只截获和实验有关的数据报,设置Wireshark 的截获条件为对方主机的IP 地址,开始截获报文;步骤2:在PC1 上执行如下Ping 命令,向主机PC2 发送4500B 的数据报文:Ping –l 4500 –n 2 PC2的IP地址步骤3:停止截获报文,分析截获的报文,回答下列问题:1)以太网的MTU 是多少?1480A)对截获的报文分析,将属于同一ICMP 请求报文的分片找出来,主机PC1 向主机PC2 发送的ICMP 请求报文分成了几个分片?3个B)若要让主机PC1向主机PC2发送的数据分为3 个分片,则Ping 命令中的报文长度应为多大?为什么?______大于2960小于4440_______4)将第二个ICMP 请求报文的分片信息填入表5.3:表 5.3 ICMP请求报文分片信息4、ARP协议分析实验步骤1:在PC1、PC2 两台计算机上执行如下命令,清除ARP 缓存:ARP –d步骤2:在PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的ARP 地址映射表的内容:ARP –a步骤3:在PC1 和PC2 上运行Wireshark 截获报文,为了截获和实验内容有关的报文,Wireshark 的Captrue Filter 设置为默认方式;步骤4:在主机PC1 上执行Ping 命令向PC2 发送数据报;步骤5:执行完毕,保存截获的报文并命名为arp-1-学号;步骤6:在PC1、PC2 两台计算机上再次执行ARP –a 命令,查看高速缓存中的ARP 地址映射表的内容:1)这次看到的内容和步骤3 的内容相同吗?结合两次看到的结果,理解ARP 高速缓存的作用。
答:不同。
这个高速缓存存放了最近Ineternet地址到硬件地址之间的映射记录。
2)把这次看到到的高速缓存中的ARP 地址映射表写出来。
步骤7:重复步骤4—5,将此结果保存为arp-2-学号;步骤8:打开arp-1-学号,完成以下各题:)在截获的报文中由几个ARP 报文?在以太帧中,ARP 协议类型的代码值是什么?_答:17个,代码值为:0x0800)打开arp-2-学号,比较两次截获的报文有何区别?分析其原因。
答:在arp-2没有ARP报文,这是因为在第一次操作时,已经将路由信息存入ARP高速缓存中,不通过ARP广播请求消息来获得路由信息。
a)分析arp-1 中ARP 报文的结构,完成表5.4。