通过实验验证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.