ARP扫描如何跨越网络层?

我的网络中具有以下设置:

                                               cc:cc:cc:cc:cc:cc             -------- 192.168.1.5/24 phone     bb:bb:bb:bb:bb:bb
       (other networks and internet) --- 45.53.234.5 router 192.168.1.1/24   -------- 192.168.1.2/24 laptop_2  aa:aa:aa:aa:aa:aa
                                                                             -------- 192.168.1.3/24 laptop_3  
                                                                             -------- 192.168.1.4/24 desktop   dd:dd:dd:dd:dd:dd

路由器(192.168.1.1/24)设置为默认网关,并通过SEPARATE网卡连接到192.168.1.0/24子网中4个设备的EACH(这意味着每个设备在单独的链路上)。

现在,当笔记本电脑_2(192.168.1.2)想向电话(192.168.1.5)发送有关ARP的信息时,会发生以下情况:

  1. laptop_2查看路由表以查看下一跳的位置,并通过nic查看下一跳为192.168.1.1。
  2. laptop_2尝试通过向源代码为aa:aa:aa:aa:aa:aa:aa的ff:ff:ff:ff:ff:ff:ff发送arp请求来查找192.168.1.1的mac地址
   on the ARP level, the packet will have: 
sender mac : aa:aa:aa:aa:aa:aa
sender ip  : 192.168.1.2
target mac : 00:00:00:00:00:00
target ip  : 192.168.1.1
  1. 路由器将回复并告知其Mac地址cc:cc:cc:cc:cc:cc
  2. 然后路由器将使用电话192.168.1.5完成这3个确切步骤,然后将laptop_2的消息转发给它

我用Wireshark分析了我的网络,以上所有事情都发生了。

I then tried running the unix utility arp-scan on laptop_2 like this: arp-scan 192.168.1.0/24

我假设此实用程序会强制arp数据包进行网络发现,但是根据我的理解,它应该只能发现默认网关的mac地址(cc:cc:cc:cc:cc:cc)

因此,laptop_2发送带有源aa:aa:aa:aa:aa:aa和目标ff:ff:ff:ff:ff:ff:ff的arp请求

on the ARP level, the packets look like this:
sender mac : aa:aa:aa:aa:aa:aa
sender ip  : 192.168.1.2
target mac : 00:00:00:00:00:00
target ip  : 192.168.1.4

此数据包重复256次(目标ip更改为子网/ 24中的256个地址中的每个)

由于路由器与IP 192.168.1.4不匹配,因此它不应回答任何问题,或者如果已启用代理ARP,则应使用自己的MAC地址进行回复cc:cc:cc:cc:cc:cc

另外,我读到arp代理是对错误的响应,这是笔记本电脑_2 192.168.1.2认为它直接连接到192.168.1.4(在同一链接上),但实际上并非如此,不应该这样做。甚至没有发送此ARP请求。

但是,wireshark显示的是192.168.1.1将所有这些ARP请求数据包按原样转发到192.168.1.0/24子网中与之连接的所有设备(电话,laptop_3,台式机...)。不明白为什么。

此外,台式机192.168.1.4甚至还以源dd:dd:dd:dd:dd:dd:dd且目标aa:aa:aa:aa:aa:aa:aa回复一个数据包

on the ARP level, the packet looks like this:
sender mac : dd:dd:dd:dd:dd:dd
sender ip  : 192.168.1.4
target mac : aa:aa:aa:aa:aa:aa
target ip  : 192.168.1.2

此数据包被发送到路由器,然后路由器将其转发到笔记本电脑_2 192.168.1.2

我不明白这是怎么可能的,因为所有这些设备都使用单独的nic(因此,单独的链接)连接到路由器,并且路由器甚至无法接受此arp答复,因为它的目标mac甚至没有属于其nic,因此应将其丢弃。

我能想象到的唯一一种情况是laptop_1 arp发现网关以外的设备是在总线拓扑网络上,其中所有设备都连接在一个链接上