假设一台路由器的 ip 为 192.168.0.1,一台台式电脑连接到该路由器的 ip 为 192.168.0.2。这个 ip 是通过 dhcp 提供给桌面的。我可以访问路由器并且可以查看 dhcp 租约列表。
现在假设有人将一台新计算机连接到路由器。这个新系统禁用了dhcp,并且在操作系统中分配了一个静态IP 192.168.0.3。
从路由器或桌面,我怎么能发现这台新机器已连接到网络?(假设 icmp 被禁用并且新系统没有开放端口)
假设一台路由器的 ip 为 192.168.0.1,一台台式电脑连接到该路由器的 ip 为 192.168.0.2。这个 ip 是通过 dhcp 提供给桌面的。我可以访问路由器并且可以查看 dhcp 租约列表。
现在假设有人将一台新计算机连接到路由器。这个新系统禁用了dhcp,并且在操作系统中分配了一个静态IP 192.168.0.3。
从路由器或桌面,我怎么能发现这台新机器已连接到网络?(假设 icmp 被禁用并且新系统没有开放端口)
机器将发送 ARP 查询以获取它想要与之通信的设备(特别是本地网关)——您可以使用 Wireshark 或 tcpdump 捕获它们。
这些设备也会进行 ARP 以提供响应,并且机器的 MAC 和 IP 地址将显示在它们的邻居缓存(ARP 缓存)中。您的本地网关的 ARP 缓存通常会包含子网内的几乎所有设备(尽管不一定同时包含所有设备)。使用
ip neigh
或arp -a -n
列出它;许多路由器在某处都会有某种形式的“ARP表”。IPv6 NDP 也有类似的邻居缓存。如果机器本身保持完全安静,您可以使用网络扫描仪向子网中每个可能的地址发送 ARP 探测。(扫描 IPv4 /24 需要眨眼。)有很多这样的工具,但 nmap 是我记得的唯一一个。
arping
如果 IP 地址已知,还可以进行定向 ARP 查询——这类似于 ping,但用于 ARP。(IPv6 等价物可能是ndisc6
.)