我连接到 LAN,例如 10.1.1.0/24。我发现有其他几个系统连接到 LAN(例如 15 到 20 个),但 Nmap 无法清楚地分辨它们是什么(操作系统检测方面)。我发现的 IP 地址不遵循可识别的模式,即没有地址为 10.1.1.1 或类似的系统。我知道其中一个是路由器。我怎么才能确定它是哪一个?
答案1
没有 100% 有效的方法,但可以尝试这个作为开始:
许多路由器还托管 DHCP 服务器 – 广播 DHCPDISCOVER(使用
dhclient
或dhcpcd
)并查看谁回复。IPv6 路由器发现(使用rdisc6
或rtsol
)也是如此。尝试使用将其作为网关 – 向其发送一个以外部 IP 地址为目标的数据包,并查看它是否被转发,或者是否收到 ICMP 错误或什么都没有。(您可以使用 或 等在操作系统本身内添加实际路由,也可以使用或
ip route add
手动制作数据包。)scapy
nemesis
Ping
ff02::2
(IPv6 全路由器多播)并将回复的 MAC 地址与 IPv4 扫描结果进行比较。并非所有操作系统都会响应多播 ping,但相当一部分会响应。使用 tcpdump/tshark 观察 IGMP 数据包 – 一些路由器定期发送 IGMP 组查询来验证谁订阅了。
尝试最后一个地址(
.254/24
)以及中间两个地址。考虑一下网络可能没有网关。从技术上来说,这也是有效的,尽管恼人的,以使网关位于子网之外。(一些 VM 托管提供商会这样做...)