通过实验验证ARP响应请求工作流程简要分析通信数据包格式ARP协议全面实战手册协议详解、攻击与防御大学霸

通过实验验证ARP响应请求工作流程简要分析通信数据包格式ARP协议全面实战手册协议详解、攻击与防御大学霸

1.通过实验验证工作流程通过实验验证ARP响应请求工作流程简要分析通信数据包格式ARP协议全面实战手册协议详解、攻击与防御大学霸

【实例1-4】用抓包的方式验证ARP工作流程。

如图1.16所示,这是一个对等网的环境,主机A和主机B第一次通信。因此,在通信双方的ARP缓存中不会有彼此的IP地址和MAC地址的映射。

图1.16  验证ARP工作流程

本例中使用的主机A和主机B分别指的是Kali和Windows 7。具体实验步骤如下所示:

(1)使用ifconfig查看主机A的IP地址和MAC地址。如下所示:

root@kali:~# ifconfig

eth0      Link encap:Ethernet  HWaddr 50:e5:49:eb:46:8d

inet addr:192.168.1.1  Bcast:192.168.41.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:4308 errors:0 dropped:0 overruns:0 frame:0

TX packets:152 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:279300 (272.7 KiB)  TX bytes:12790 (12.4 KiB)

从输出的信息中可以看到主机A的IP地址和MAC地址分别为192.168.1.1、50:e5:49:eb:46:8d。

(2)使用ipconfig/all命令查看主机B的IP地址和MAC地址,如下所示:

C:\Users\Administrator>ipconfig/all

以太网适配器 本地连接:

描述. . . . . . . . . . . .                     : Realtek PCIe GBE Family Controller

物理地址. . . . . . . . . . .                : 00-19-21-3F-C3-E5

DHCP 已启用 . . . . . . . .             : 否

IPv4 地址 . . . . . . . . .         : 192.168.1.2(首选)

子网掩码  . . . . . . . . .         : 255.255.255.0

默认网关. . . . . . . . . .                  : 192.168.1.1

DNS 服务器  . . . . . . . .             : 8.8.8.8

从输出的信息中可以看到主机A的IP地址和MAC地址分别为192.168.1.2、00-19-21-3F-C3-E5。

(3)查看主机A的ARP缓存。执行命令如下所示:

root@kali:~# arp -a

执行以上命令后,没有输出任何信息。表示该系统中没有任何ARP映射条目。

(4)查看主机B的ARP缓存。执行命令如下所示:

C:\Users\Administrator>arp -a

未找到 ARP 项。

从输出的信息中,可以看到本机中没有任何ARP映射条目。

(5)在主机A上开启Wireshark工具,并开始抓包。

(6)在主机A上ping主机B的IP地址,此时查看Wireshark捕获的数据如图1.17所示。

 

图1.17  ARP工作原理验证

(7)该界面从编号为3-12(第3-12个数据帧)显示了主机A与主机B通过ARP请求获取到MAC地址和正常通信的过程。

(8)此时在分别查看主机A和主机B的ARP缓存表,里面会包含双方之间的ARP映射条目。如下所示:查看主机A的ARP缓存表。执行命令如下所示:

root@kali:~# arp -a

? (192.168.1.2) at 00-19-21-3f-c3-e5 [ether] on eth0

(9)查看主机B的ARP缓存表。执行命令如下所示:

C:\Windows\system32>arp -a

接口: 192.168.1.2 — 0xb

Internet 地址         物理地址               类型

192.168.1.1           50-e5-49-eb-46-8d          动态

192.168.1.255         ff-ff-ff-ff-ff-ff                静态

192.168.6.1           14-e6-e4-ac-fb-20           静态

224.0.0.22            01-00-5e-00-00-16          静态

224.0.0.252           01-00-5e-00-00-fc          静态

239.255.255.250      01-00-5e-7f-ff-fa              静态

从输出的信息中,可以看到主机中包含了对方的ARP条目。

2.简要分析通信数据包格式

下面分别对图1.8中的数据帧进行详细介绍:

(1)第3个数据帧表示主机A向主机B发送的ARP请求广播。该包的源地址为50:e5:49:eb:46:8d,目的地址为广播(ff:ff:ff:ff:ff:ff),使用的协议是ARP。信息描述该数据包是请求谁是192.168.1.2?请告诉192.168.1.1。对于该数据帧的详细描述,显示在Wireshark的中间窗口,如图1.18所示。

图1.18  第3个数据帧

从该界面可以看到第3个数据帧中的详细内容。第一条信息显示了第3个数据帧的长度为42个字节;第二条表示该帧工作在OSI的第二层,包括源地址和目标地址。第三条信息是ARP请求,该内容中可以看到数据帧中包括硬件类型、协议类型、发送方的源MAC地址和IP地址、目标主机的MAC地址(00:00:00:00:00:00)和IP地址。

(2)第4个数据帧表示主机B向主机A发送的ARP响应信息。该数据帧的源地址为00:19:21:3f:c3:e5,目标地址为50:e5:49:eb:46:8d。同样使用的是ARP协议,响应主机A的请求。信息为192.168.1.2是00:19:21:3f:c3:e5。关于该数据帧的详细内容如图1.19所示。

图1.19  ARP响应请求

该数据帧的前两条信息与图1.8的含义相同。最重要的区别是第三条信息ARP响应(replay),响应的数据帧可以看到发送方的MAC地址、IP地址和目标主机的MAC地址和IP地址。从该数据帧中可以看到两台主机的IP地址与之对应的MAC地址,表示ARP请求广播成功。请求到的MAC地址已被添加到各自的ARP缓存中。以后主机A和主机B通信时,就不再需要ARP广播,使用单播的方式进行通信。

(3)第5-12的数据帧表示主机A与主机B互相发送了4个ping数据包。ping命令使用的协议是ICMP。例如,第5个数据帧中,主机A(192.168.1.1)向主机B(192.168.1.2)发送ping请求。第6个数据帧中,主机B(192.168.1.2)响应主机A(192.168.1.1)的请求。它们之间传输的信息信息如图1.10和图1.11所示。

图1.10  ping请求

图1.11  ping响应

以上两个数据帧中,显示了传输时源地址与目标地址。从该界面还可以看到传输使用的IP协议版本是IPv4,传输协议为ICMP(Internet Control Message Protocol)通过实验验证ARP响应请求工作流程简要分析通信数据包格式ARP协议全面实战手册协议详解、攻击与防御大学霸。

Comments are closed.