6 清空主机B的ARP 表项
(2) 在主机A 上运行Wireshark 程序,执行包俘获操作。
(3) 从主机A 向主机B 发送Ping 包,稍后停止发Ping 包。分别检查两台主机的ARP表中项目。
如图 7 所示,可以发现此时主机A 的ARP 表项中增加了一条关于主机B 的表项,检查主机B 的ARP 表可以发现类似结论。
图 7 ping后查看主机A的ARP表项
图 7 ping后查看主机B的ARP表项
(4) 从俘获的分组中找出ARP 报文,并分析ARP 协议执行的全过程,画出或写出ARP协议报文的交互过程,分析实验结果和现象。
图 8 ARP 请求报文分析
图 8 显示了本次通信过程的分组俘获情况,并且为了清晰起见,运用arp 作为过滤器,以便只显示通信过程中的ARP 报文,分析发现报文38 为主机A 发送的ARP 请求报文,进一步分析其报文结构可以发现,ARP 报文是封装在以太帧中传输,并且在以太帧中协议类型为0x0806,其源MAC 地址为主机A 的MAC 地址
2c:d0:5a:6a:43:fc,目的MAC 地址为cc:34:29:59:19:d6。ARP 协议中硬件类型为以太网,协议类型为IP,硬件地址和协议地址的长度分别为6 字节(48 bits MAC 地址)和4 字节(32 bitsIP 地址),操作类型为ARP 请求报文(1),发送方的MAC 地址和IP 地址分别为2c:d0:5a:6a:43:fc 和192.168.1.109,目标方的MAC 地址为cc:34:29:59:19:d6,IP 地址为192.168.1.102。
报文 99 为主机B 向主机A 发送的ARP 应答报文,图 9 给出了其详细结构,可见其同样是封装在以太帧中传输,但源MAC 地址为主机B 的MAC 地址
cc:34:29:59:19:d6,目的MAC 地址为主机A 的MAC 地址2c:d0:5a:6a:43:fc (思考为什么不像ARP 请求报文那样设为广播地址? 答:因为ARP 请求报文中已经有主机A的MAC地址)。发送方的MAC 地址和IP 地址分别为cc:34:29:59:19:d6和192.168.1.102,目标方的MAC 地址为2c:d0:5a:6a:43:fc,IP 地址为192.168.1.109。
图 9 ARP 应答报文分析
完成上述交互过程后,通信双方均已获得彼此的MAC 地址,随后即可以进行正常通信。
思考:在本次通信过程中,为何只有主机 A 到主机B 的ARP 请求?主机B 是如何获得主机A 的MAC 地址的?
答:ARP请求报文中已经携带主机 A 的MAC 地址和IP 地址。
4. 相关概念
每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP 地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。例如,当主机A 欲向本局域网上的某个主机B 发送IP 数据报时,就先在其ARP 高速缓存中查看有无主机B 的IP 地址。如有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC 帧,然后通过局域网把该MAC 帧发往此硬件地址。若查不到主机B 的IP 地址的项目,主机A就自动运行ARP,向所在局域网广播一个ARP 查询,查询主
机B 的硬件地址,该查询中包含主机B 的IP 地址。主机B 在应答中包含其硬件地址,主机A 将B 的硬件地址添加到其ARP 缓存中供以后使用。
5. 注意事项
1) 除本次实验用到的功能外,ipconfig 命令与arp 命令均还有一些强大功能,读者可以参阅两条命令的帮助文件学习其他功能的用法。
2) 当网络规模较大时,Wireshark 会俘获很多与本实验无关的通信分组,可以在过滤器中设置相应过滤条件以便于分析。
实验8:分析TCP 特性
1. 实验目的
1)深入理解TCP 的如下重要机制的工作原理:利用序号和确认号实现可靠数据传输,TCP 拥塞控制算法(慢启动和拥塞避免),接收方通告的流量控制。 2)掌握用Wireshark 分析TCP 踪迹文件的技能。
2. 实验环境
1)运行Windows 2008 Server/Windows XP/Windows 7 操作系统的PC 一台。
2)PC 具有以太网卡一块,通过双绞线与校园网相连;或者具有适合的踪迹文件。 3)每台PC 运行程序协议分析仪Wireshark。
3. 实验步骤
1)俘获本机与远程服务器的TCP 踪迹文件
在开始研究 TCP 工作机制之前,需要使用Wireshark 来俘获从本机到远程服务器之间的TCP 踪迹文件。为此,可以从本机浏览器打开某Web 网站上的网页,用HTTP 协议下载包括文本文件在内的对象。与此同时,在本机上运行Wireshark 俘获本机收发的TCP 报文段并存入踪迹文件tcp.cap 中。为了便于比较,可以从因特网上下载现成的踪迹文件进行分析,相关URL是
http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip。
2)熟悉TCP 踪迹文件
打开 tcp-ethereal-trace-1.pcap 文件,可以看到俘获机器
gaia.cs.umass.edu 的Web 服务器之间交互的TCP 和HTPP 报文序列(参见图1)。
图 1 分析TCP 踪迹文件
选择一个报文,观察其各层次协议间的包含关系。观察 HTTP 与TCP 之间关系是如何体现的?从俘获报文列表窗口右侧,可以发现发起三次握手(如下图)的SYN 报文,也可以发现一系列交互的HTTP 报文。