Isz*_*szi 5 wireless-networking arp backtrack netdiscover
netdiscover在我的家庭网络上运行时,我似乎有一些奇怪的结果。从电缆调制解调器到我的扫描仪(跳过一些外围设备),这是基本布局:
电缆调制解调器连接到我们的路由器,它也用作 DHCP 服务器和主要 Wi-Fi AP。
从那里(再次跳过外围设备)连接到另一个路由器上的 LAN 端口,该端口已被剥夺其路由器角色(DHCP 等)并且仅充当辅助 Wi-Fi AP。
我的笔记本电脑连接到辅助 AP,运行 Windows 7 x64。
我正在
netdiscover运行 Backtrack Linux 的笔记本电脑上的虚拟机上运行。虚拟机通过 VirtualBox 适配器连接到我的网络,以“桥接”模式运行。
网络地址在 RFC 1918 地址空间的 10.0.0.0/8 范围内。
所以,我netdiscover在 Backtrack VM 上运行。大多数返回的地址与预期的差不多,除了两个。
IP At MAC Address Count Len MAC Vendor
-----------------------------------------------------------------------------
192.168.2.1 00:17:9a:8f:69:cf 01 060 D-Link Corporation
192.168.2.1 00:17:9a:8f:69:d0 01 060 D-Link Corporation
Run Code Online (Sandbox Code Playgroud)
我对这是什么有一个相当可靠的猜测 - 我们只为它的 VoIP 功能保持连接(硬线连接到路由器)的 D-Link VoIP 路由器。IP 地址看起来可能是设备的出厂默认地址(我将在下次进行故障排除)。
我现在正在挠头的是:为什么 192.168.2.1 的 D-Link 设备能够通过 10.xxx 网络接收和返回 ARP 数据包?
除非您特别说明要使用的范围,netdiscover否则将扫描常见网络,因此这将包括 192.168.0.0/16。
ARP 请求在第 2 层广播,因此即使回溯 PC 与 voip 盒在不同的 IP 网络上,仍会看到并回复该 arp 请求。请求将采用 ARP 探测的形式,其中不包含要回复的 IP 地址 - 回复在第 2 层发送到发起请求的设备的 mac 地址。
ARP Probe 是一种判断IP 地址当前是否在使用中的方法。它通常由设备在“声明”IP 地址之前使用,以确保本地网络上没有其他人在使用它。然而,它可用于查看本地网络上正在使用的地址,并且 netdiscover 似乎可能会使用它。
虽然 arp 探测是第 3 层 IP 协议的一部分,但它在第 2 层运行。数据包看起来有点像这样:
From MAC: <host mac address>, To MAC: ff:ff:ff:ff:ff:ff, Payload: "Is anyone using IP address 192.168.1.1"
Run Code Online (Sandbox Code Playgroud)
所以目标mac是广播mac地址——全是1,它匹配所有地址。因此,任何第 2 层设备(例如交换机)将从接收数据包的同一广播域中的所有端口广播它。在家用路由器中,这意味着所有 LAN 端口(家用路由器上的 LAN 端口是交换机端口)。如果任何 LAN 端口连接到另一个路由器的 LAN 端口,则 LAN 端口都在同一个广播域中 - 数据包将从连接到第二个路由器的第一个路由器上的端口广播出去,第二个路由器将看到数据包的目的地是 ff:ff:ff:ff:ff:ff,因此将从它自己的 LAN 端口广播它。
这里的要点是网络上的每个设备都会看到第 2 层广播数据包,而不管 IP 地址如何。
所以每个设备都能看到它。voip 设备发现它是一个 ARP 探测,并且发件人所寻找的 IP 地址与它配置的 IP 地址相匹配,因此作出答复。
它不能回复始发设备的 IP 地址,因为 ARP 探测的本质是它被一个还没有 IP 地址的设备使用——它用于查看它想要的 IP 地址是否已经被使用. 因此,数据包中发件人 IP 地址通常所在的位置全为零。
并且ARP探测回复因此被发送到发送者的MAC地址。
| 归档时间: |
|
| 查看次数: |
689 次 |
| 最近记录: |