实验五网络分析软件使用及网络层协议分析
一、实验目的
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 中要求的字段值,填入表中。