计算机网络——实验3Wireshark软件使用与协议分析(1)

3.1-----ARP协议分析

一、实验目的

  1. 学习Wireshark的基本操作,抓取和分析有线局域网的数据包;
  2. 掌握以太网MAC帧的基本结构,掌握ARP协议的特点工作过程。

二、实验内容

使用Wireshark抓取局域网的数据包并进行分析:

  1. 学习Wireshark基本操作:重点掌握捕获过滤器和显示过滤器。
  2. 观察MAC地址:了解MAC地址的组成,辨识MAC地址类型。
  3. 分析以太网帧结构:观察以太网帧的首部和尾部,了解数据封装成帧的原理。
  4. 分析ARP协议:抓取ARP请求和应答报文,分析其工作过程。

三、实验原理

3.1 Wireshark 简介

Wireshark软件是目前全球使用最广泛的开源网络数据包分析工具(前身为Ethe real),由Gerald Combs编写并于1988年获开源许可发布。网络数据包分析是指进入网络通信系统、捕获和解码网络上实时传输数据以ࣿ搜集统计信息的过程。通过Wireshark对网络数据进行分析,我们能够了解网络是如何运行的、数据包是如何被转发的、应用是如何被访问的;能够分析各层网络协议的性能、掌握通信主体的运行情况,确认带宽分配和时延大小、查看应用的快慢并改进优化,识别网络中存在的攻击或恶意行为、解决网络异常和故障。Wireshark 可以在 Windows、Linux和macOS操作系统中运行,具备好的图形界面、丰富的统计图表分析功能。

3.2 以太网MAC帧格式

本实验基于使用最广泛的有线局域网(以太网Ethernet II),以太网的帧结构如表3.1所示。其中,MAC地址(Media Access Control Address,媒体存取控制位址)或称物理地址(Physical Address),用于在网络中标识网卡。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40。其中前3个字节的16进制数00-16-EA代表网络硬件制造商的编号、即组织唯一标志符(OUI),它由IEEE分配;而后3个字节的16进制数AE-3C-40代表该制造商所生产的某个网络产品(如网卡)的系列号。

表3.1  以太网帧格式

前导字段

目的MAC地址

源MAC地址

类型

IP 数据报

帧校验

8 字节

6 字节

6 字节

2 字节

46-1500 字节

4 字节

3.3 ARP 协议及数据报格式

地址解析协议(Address Resolution Protocol, ARP),主要作用是将IP地址解析为MAC地址。当某主机或网络设备要发送数据给目标主机时,必须知道对方的网络层地址(即IP地址),而且在数据链路层封装成帧时,还必须有目标主机(或下一跳路由器)的MAC地址。本实验重点观察最简单的情形:同一个网段内,主机A要向主机B发送信息时,ARP解析的过程(主机A和B不在同一网段的情况请参阅课本相关内容)。具体如下:

  1. 主机A首先查看自己的ARP表。如果找到了主机B的MAC地址,则利用这个地址对IP数据报进行帧封装,并将数据报发送给主机B。
  2. 如果主机A在ARP表中找不到主机B的MAC地址,则以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机B会对该请求进行处理。
  3. 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。然后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
  4. 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据报进行封装后发送出去。ARP报文结构如图1.1–1所示,ARP报文总长度为28字节,MAC地址长度为6字节,IP地址长度为4字节。每个字段的含义如下:
  • 硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1。
  • 协议类型:表示要映射的协议地址类型。IP地址的类型值为0x0800。
  • 硬件地址长度和协议地址长度:分别指出硬件地址和协议地址的长度,以字节为单位。在以太网中,它们的值分别为6和4。
  • 操作码(op):用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。

图3.1  ARP 报文结构示意图

3.4 实验方法及手段

使用Wireshark软件在有线局域网中捕捉相关网络操作的数据包,运用观察对比、计算验证、分析统计等方法,掌握以太网MAC帧和IP数据报的结构以ARP协议的工作原理。

四、实验条件

  1. PC机一台,连入局域网;
  2. Wireshark 软件,建议3.0以上版本。

五、实验步骤

5.1 WireShark 基本使用

  • 通过Wireshark官网下载最新版软件,按默认选项安装。
  • 运行Wireshark软件,程序界面会显示当前的网络接口列表,击要观察的网络接口,开始捕捉数据包,Wireshark软件选择网络接口的界面如图5.1所示。

图5.1  Wireshark 软件启动界面

  • 点击工具栏上的红色方块按钮停止捕捉。
  • 菜单、工具栏、状态栏和主窗口如图5.2所示,可以根据需要通过菜单“视图”。以及“编辑/首选项/外观”的相关选项对基本设置进行更改。例如图5.3中的语言、字体缩放、颜色、布局等项目。

 图5.2  Wireshark主窗口界面

 

图5.3  Wireshark的设置界面

  • 使用“显示过滤器”可以方便地从捕获的数据包中筛选出要观察的数据包。显示过滤器支持若干的过滤选项:源MAC、目的MAC、源IP、目的IP、TCP/UDP传输协议、应用层协议(HTTP, DHCP)、源端口Port、目的端口Port等。在显示过滤器栏中输入过滤表达式(更详细的显示过滤语法可以查看WireShark的官方文档1),例如下面的命令:

                arp         // 显示arp协议报文,例如图5.4

                ip.src == a.b.c.d && icmp         // 显示源地址为a.b.c.d的icmp报文

图5.4 显示过滤规则的示例

  • 通过主菜单“文件”/“导出特定分组”(如图5.5),可以保存捕获的网络数据(也可以先选中某些包,只保存部分数据)。
  • 如果只想捕捉特定的数据包,可以使用菜单“捕获”/“捕获过滤器”选定想要的类型(如图5.6)。例如,选择“IPv4 only”,Wireshark只抓取ipv4类型的数据包。Wireshark过滤器官方文档提供了更加全面详细的语法和常用示例2。
  • Wireshark还提供了丰富的统计功能供用户选用,如图5.7。更多文档可以查询 Wireshark使用帮助3。

图5.5  操作主菜单保存数据文件

 图5.6  选中特定的捕获类型

图5.7  统计功能

5.2 观察MAC地址

启动Wireshark捕捉数据包,在命令行窗口分别ping网关和ping同网段的一台主机,分析本机发出的数据包。重点观察以太网帧的Destination和Source的MAC地址,辨识MAC地址类型,解读OUI信息、I/G和G/L位。

5.2.1 ping网关
  • 在命令行利用ipconfig/all命令查看无线网WALN的默认网关为192.168.43.1;

  • 启动Wireshark,点击要观察的无线网WALN,开始捕捉数据包;
  • 在命令行输入ping 192.168.43.1;

  •  使用ip.addr==192.168.43.1作为显示过滤条件进行过滤获取本机发出的数据包;

观察以太网帧的Destination和Source的MAC地址,辨识MAC地址类型,解读OUI信息、I/G和G/L位。

(1)Source的MAC地址:38:68:93:53:00:f2   0xf2=(FFFF0010)2,本地MAC地址。

  1. 根据第8bit为0,判断该MAC地址为单播地址;
  2. 该MAC地址的前3个字节38:68:93,称为组织唯一标识符OUI,是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家;
  3. I/G位在第一个字节中的最低位,在该MAC地址中为0,表示此为某台设备的MAC地址,即单播地址;
  4. G/L位在第一个字节中的次低位,在该MAC地址中为0,表示此为全局管理地址,由IEEE分配。

(2)Destination的MAC地址:f2:c4:86:b7:88:09   0x38=(00111000) 2,默认网关地址。

  1. 根据第8bit为0,判断该MAC地址为单播地址;
  2. 该MAC地址的前3个字节f2:c4:86,称为组织唯一标识符OUI,是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家;
  3. I/G位在第一个字节中的最低位,在该MAC地址中为0,表示此为某台设备的MAC地址,即单播地址;
  4. G/L位在第一个字节中的次低位,在该MAC地址中为0,表示此为全局管理地址,由IEEE分配。
5.2.2 ping同网段的一台主机
  • 获取到同网段的一台主机IP地址为192.168.43.233;
  • 启动Wireshark,点击要观察的无线网WALN,开始捕捉数据包;
  • 在命令行输入ping 192.168.43.233;

  • 使用ip.addr==192.168.43.233作为显示过滤条件进行过滤,获取本机向同网段另一个主机发出的数据包;

观察以太网帧的Destination和Source的MAC地址,辨识MAC地址类型,解读OUI信息、I/G和G/L位。

(1)Source的MAC地址:38:68:93:53:00:f2   0xf2=(FFFF0010)2,本地MAC地址。

  1. 根据第8bit为0,判断该MAC地址为单播地址;
  2. 该MAC地址的前3个字节38:68:93,称为组织唯一标识符OUI,是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家;
  3. I/G位在第一个字节中的最低位,在该MAC地址中为0,表示此为某台设备的MAC地址,即单播地址;
  4. G/L位在第一个字节中的次低位,在该MAC地址中为0,表示此为全局管理地址,由IEEE分配。

(2)Destination的MAC地址:de:42:c2:82:78:b5   0xb5=(10110101) 2,默认网关地址。

  1. 根据第8bit为0,判断该MAC地址为单播地址;
  2. 该MAC地址的前3个字节de:42:c2,称为组织唯一标识符OUI,是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家;
  3. I/G位在第一个字节中的最低位,在该MAC地址中为0,表示某台设备的MAC地址,即单播地址;
  4. G/L位在第一个字节中的次低位,在该MAC地址中为1,表示此为本地管理地址,是网络管理员为了加强自己对网络管理而指定的地址。

总结:

  1. MAC地址类型分为广播Mac地址、组播Mac地址和单播Mac地址三类。其中,广播Mac地址是每个字节都为1的Mac地址,即FF:FF:FF:FF:FF:FF,其传输目的地是所有用户,其只能用作目的MAC地址,而不能用作源MAC地址;广播MAC地址是组播MAC地址的一个特例。组播Mac地址是第一个字节的最低位为1的Mac地址,单播Mac地址是第一个字节的最低位为0的Mac地址。
  2. MAC地址的前3个字节为组织唯一标识符OUI,由IEEE的注册管理机构给不同厂家分配的代码,区分不同的厂家;后3个字节是由厂家自己分配的,称为扩展标识符。
  3. 每个字节的高位在前,低位在后,I/G位和G/L分别在第一个字节中的最低位和次低位。如果G/L=0,则是全局管理地址,由IEEE分配;如果G/L=1,则是本地管理地址,是网络管理员为了加强自己对网络管理而指定的地址。如果I/G=0,则是某台设备的MAC地址,即单播地址;如果I/G=1,则是多播地址(组播+广播=多播)。

5.3 分析以太网的帧结构

以太网的帧结构:

  1. Frame:物理层的数据帧情况;
  2. Ethernet II , Src:数据链路层以太网帧头部信息;
  3. 0x0800:帧包含的是IPv4数据报。
  4. Internet Protocol Version 4, Src:互联网层IP包头信息。
  5. Internet Control Message Protocol:互联网控制信息协议。

选择其中一个数据包,点击 Ethernet II 展开,查看 MAC 帧的各个字段。

以ping同网段的一台主机时的MAC帧为例,选择一个数据包查看Ethernet II内容:

在5.2.2中已做分析,Ethernet II内容说明:

  1. Destination的MAC地址为de:42:c2:82:78:b5根据G/L位(第一个字节中的次低位)为0,表示此为本地管理地址,是网络管理员为了加强自己对网络管理而指定的地址,不是出厂默认地址;根据I/G位(第一个字节中的最低位)为1,表示多播地址(组播+广播=多播);
  2. Source的MAC地址为38:68:93:53:00:f2 ,根据G/L位(第一个字节中的次低位)为0,表示此为全局管理地址,由IEEE分配;根据I/G位(第一个字节中的最低位)为0,表示此为某台设备的MAC地址,即单播地址。

5.4 ARP 协议分析

​1. ​​​​​​使用CTR–F命令(其语法见图5.8),清空本机的ARP缓存,开启Wireshark,ping本机的同网段地址,在显示过滤器条框中输入“arp”,观察捕获的ARP报文的各个字段,分析请求/响应的过程。

图5.8  arp 命令语法及参数

  • ping本机的同网段地址

  •  在显示过滤器条框中输入“arp”

  • 观察捕获的ARP报文的各个字段,分析请求/响应的过程。

a. 本主机首先查看自己的ARP表,寻找ping的另一个主机的MAC地址,此案例中成功找到,则利用这个地址对IP数据报进行帧封装,并将数据报发送给主机B。

b. 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。然后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址;

c. 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据报进行封装后发送出去。

2. 使用CTR–F命令,清空本机的ARP缓存。开启Wireshark,ping 与本机网段不同的IP地址或域名,观察捕获的ARP报文的各个字段,分析请求/响应的过程。

  • Ping与本机不同网段的IP地址

  • 在显示过滤器条框中输入“arp”

  • 观察捕获的ARP报文的各个字段,分析请求/响应的过程。

主机A首先查看自己的ARP表,寻找主机B的MAC地址,此案例为没找到,则以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。

总结:

ping IP地址或域名的过程:

  1. 主机A首先查看自己的ARP表,如果找到了主机B的MAC地址,则利用这个地址对IP数据报进行帧封装,并将数据报发送给主机B;如果找不到主机B的MAC地址,则以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址;
  2. 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。然后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址;
  3. 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据报进行封装后发送出去。

六、思考题

1. 使用了显示过滤器后,Wireshark 的抓包工作量会减少吗?

答:不会减少,过滤只是查找只显示的信息,不会减少任何抓包工作量。但捕抓过滤会减少,对确定的捕抓类型抓包。

2. MAC 帧的长度和 IP 数据报的长度有怎样的关系?请用你的数据记录进行验证。

答:MAC帧 = 6字节源mac地址 + 6字节目标mac地址 + 2字节类型(ipv4或ipv6) + ip数据报(46~1500字节)+ 4字节帧检验序列FCS。具体如下图所示:

 

MAC帧长度是需要在64~1518字节之间的,太长或者太短都是无效的帧。

数据记录验证:

(1)获取百度的ip地址为180.101.49.14

(2)wireshark分析MAC帧

3. ping 同一局域网内的主机和局域网外的主机,都会产生 ARP 报文么?所产生的 ARP 报文有何不同,为什么?

答:Ping查找地址都会产生ARP报文。所产生的arp报文不同在于,它们的发送端mac地址不同,同一局域网是该连接的交换机mac,局域网外是目的端交换机的mac。

七、实验心得与体会

该实验的主要内容是学习使用Wirshark软件抓取局域网的数据包并进行分析。

在实验初,在下载完Wirshark软件并联网打开时,WLAN处没有网波产生,上网查询资料也没有找到解决办法。后来寻找老师帮助,发现是安装路径D盘权限设置的问题,需要用管理员身份运行Wirshark。

在根据实验指导书的提示步骤一步步操作下,我掌握了Wireshark的基本操作,如显示过滤器、捕获过滤器等,其中两者的差别在于,显示过滤只是查找只显示的信息,不会减少任何抓包工作量;而捕抓过滤时对确定的捕抓类型抓包,会减少抓包工作量。

并且,通过在命令行窗口分别ping网关和同网段主机,分析本机发出的数据包,观察MAC地址,了解了MAC地址的组成,掌握了MAC地址类型的辨识,学习解读OUI信息、I/G和G/L位。其中,MAC地址类型分为广播Mac地址(每个字节都为1)、组播Mac地址(第一个字节的最低位为1)和单播Mac地址(第一个字节的最低位为0)三类。另外,选择一个数据包查看,查看MAC帧的各个字段,观察以太网帧的首部和尾部,了解数据封装成帧的原理。具体知识点见5.2总结,不再赘述。

此外,通过使用显示过滤器进行分析,抓取ARP请求和应答报文,了解了其工作过程,具体过程在5.4总结中已经描述,不再赘述。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮阮的阮阮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值