计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)

在这一部分中,我们将抓取并分析 Ethernet 数据帧的内容,观察 ARP 协议在现实网络中如何工作。

  1. 抓取Ethernet 数据帧并进行分析:
    a) 启动web浏览器,清空浏览器的缓存,启动 Wireshark 程序
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
    b) 键入:
    http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
    c) 停止 Wireshark 程序,选择显示 IP 协议以下的协议,如下图:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
    d) 分析包含了 Http GET 数据的 Ethernet frame 的内容。
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)由上图可知,我所在主机的以太网地址是 TendaTec_e1:26:b0,即d8:32:14:e1:26:b0。以太网 Frame 中目标主机48位地址是:TendaTec_e1:26:b0(d8:32:14:e1:26:b0)。它不是
    gaia.cs.umass.edu服务器的以太网地址,而是路由器的以太网地址。
    然后我们可以看到 Frame 头部 Type 字段的值为IPv4(0x0800),字段的值的含义是帧类型/长度,当该字段的值大于或等于 0x0800 时,表示上层数据使用的协议类型,8 表示以太网。
  2. ARP协议分析
    a) Windows 操作系统进入 CMD 下,使用 ARP 命令,分析 ARPcache 内容。计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)上面给出了ARP命令的详细用法。结合上面的用法:
    下面显示ARP表
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)尝试添加静态项,遇到错误:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)ARP项的添加/删除等权限需要管理员身份。以管理员身份运行cmd,重新尝试:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
    尝试添加静态项:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)显示ARP表:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)可以观察到已经成功添加静态项。下面尝试删除该项:
    计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)可以观察到,已经成功删除该项。

b) 键入 arp -d *命令,清除 ARPcache内容。
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
之后,再清除浏览器缓存。
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
c) 打开 Wireshark,打开浏览器。
d) 键入:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-lab-file3.html
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)e) 停止 Wireshark,更改 Wireshark 的“listing of captured packets”窗口为 arp:
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)这里遇到了问题,输入arp之后没有数据包。解决方法是,更换浏览器,并在网页加载完成之后,继续等待比较长的时间再结束捕获,过早结束回到是捕获不到arp数据包。
问题解决之后,捕获结果如下:
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)f) 下面分析arp数据包。
计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)ARP报文可以表示为:
Who has target IP address? Tell sender IP address.
具体格式如下图所示:计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(Ethernet & ARP部分)
具体地:
 硬件类型:16位字段,用来定义运行ARP的网络类型。每个局域网基于其类型被指派一个整数。例如:以太网的类型为1。ARP可用在任何物理网络上。
 协议类型:16位字段,用来定义使用的协议。例如:对IPv4协议这个字段是0800。ARP可用于任何高层协议。
 硬件长度:8位字段,用来定义物理地址的长度,以字节为单位。例如:对于以太网的值为6。
 协议长度:8位字段,用来定义逻辑地址的长度,以字节为单位。例如:对于IPv4协议的值为4。
 操作码:16位字段,用来定义报文的类型。已定义的分组类型有两种:ARP请求(1),ARP响应(2)。
 源硬件地址:这是一个可变长度字段,用来定义发送方的物理地址。例如:对于以太网这个字段的长度是6字节。
 源逻辑地址:这是一个可变长度字段,用来定义发送方的逻辑(IP)地址。例如:对于IP协议这个字段的长度是4字节。
 目的硬件地址:这是一个可变长度字段,用来定义目标的物理地址,例如,对以太网来说这个字段位6字节。对于ARP请求报文,这个字段为全0,因为发送方并不知道目标的硬件地址。
 目的逻辑地址:这是一个可变长度字段,用来定义目标的逻辑(IP)地址,对于IPv4协议这个字段的长度为4个字节。
对上面捕获到的的ARP报文,硬件类型为Ethernet(1),协议类型为IPv4,硬件长度为6,协议长度为4,操作码为1代表请求,同时可以找到源Mac地址与IP地址、目标MAC地址与目标IP地址。


如果这篇文章对你有帮助,请给博主点个赞鼓励一下吧!

上一篇:java phaser


下一篇:抓包带你体验同网段的通信过程,这些细节很关键