为什么路由器不能列出具有静态 IP 的客户端?

为什么路由器不能列出具有静态 IP 的客户端?

我拥有的几乎每台路由器都不会列出具有静态 IP 的设备,无论它们是否在 DHCP 范围内。它们只列出由 DHCP 分配地址的设备。我在廉价家用路由器和昂贵的商用路由器上都看到过这种情况,但还没有找到真正列出与其连接的所有设备的路由器。这是为什么呢?

答案1

你所说的并不完全正确。

一方面,具有静态 IP 的组件不是“客户端”,即它们没有向路由器请求使用 DHCP 服务。换句话说,它们被正确地从 DHCP 客户端列表中删除。

另一方面,这并不意味着路由器会忽略使用其其他服务(尤其是路由服务)的客户端。这些客户端必须通过 ARP 流量交换向路由器透露其身份(谁有 192.168.1.13?告诉 192.168.1.1...)。这些客户端列在ARP 表,您可能可以访问,也可能不可以访问。例如,在装有 DD-WRT 软件(或 Open-WRT 或 Tomato)的路由器上,命令 arp 会显示积极的,即那些使用路由器路由容量的设备。事实上,在这些路由器中,你会看到GUI 上有两个不同的表,一个用于 DHCP 客户端,另一个用于活动客户端。从原则上和事实上来说,这两个表是不同的,因为后者包括正在执行某些操作的静态 IP。我认为一些 Cisco 路由器也会显示 ARP 表(我的路由器肯定有)。

那么静默客户端呢?它们会被忽略,您无法看到它们。为什么?因为路由器无法知道它们的存在。这些组件包括非常无害的组件以及潜伏在黑暗中的邪恶组件。在无害组件中,有打印机之类的东西:它们不需要访问互联网,因此它们不会向路由器索取任何东西,并且,如果它们通过交换机连接到其他 PC,它们的流量甚至永远不会到达路由器,交换机会独自处理。因此,就路由器而言,打印机甚至不存在。

那么恶意程序呢?由于上述原因,只要它们保持安静,它们就能逃脱检测,但一旦它们开始访问互联网,您就会看到它们。这里的问题是 ARP 表的 TTL(生存时间)很短,因此,除非它们通过 torrent 下载非常大的文件,否则在它们通过路由器访问互联网时,您抓住它们的机会非常渺茫。

为了抓住作恶者,更合适的工具是 nmap。

答案2

通常,这些列表不被描述为“已连接设备”,而是“客户端”。而这正是列表向您显示的内容,即 DHCP 客户端。显然,具有静态 IP 的机器与 DHCP 服务器没有交互,因此它们不会显示在列表中。

现在,从理论上讲,路由器可以枚举所有向其发送流量的 IP,但有几个原因可能导致它无法做到这一点。

  • 首先,这些数据位于路由/交换软件/固件的深处,因此可能不像 DHCP 服务器提供的日志那样容易访问。
  • DHCP 服务使用 DHCP 租约时间内置了超时时间。路由器必须设置某个任意超时时间,以指示它认为设备何时不再处于活动状态。
  • 大多数人使用 DHCP,因此它在 95% 的情况下都有效。对于静态 IP,系统假定您已配置它,因此您应该知道设备在那里。

答案3

简单来说就是没有办法。

首先,IP 路由器没有理由知道或关心哪些特定设备连接到了你的网络,而且由于以太网是一种相当被动的协议,因此主机没有必要向中央服务器“签到”。

IP 地址系统的设计目标是无需集中控制 IP 地址即可运行。DHCP 和 DNS 等系统是 IP 的附加组件,它们对于 IP 的正常运行并非必不可少。即使没有它们,您也可以拥有一个功能齐全的网络。

此外,交换机专门设计用于不传递不需要发送到特定主机的流量,这意味着路由器可能永远不会看到来自打印机等不会发送到互联网的设备的数据包。

路由器可以采取一些措施来识别网络上的更多主机,但这些措施都会消耗宝贵的 RAM 和 CPU 资源,而 SOHO 路由器的这些资源从来都不够用。

如果您确实想知道谁在您的网络上,您可以设置数据包嗅探器来记录网络上的唯一 MAC 地址以及与这些设备关联的 IP 地址。我确信有一些东西可以做到这一点,但我无法提出任何具体建议,因为我从来没有需要这样做。

答案4

实际上,接入点应该能够看到任何关联的客户端,即使它不发送无线或 IP 数据包。它甚至可能没有 IP 地址,但它必须发送一些数据包才能进行关联。

请注意,“客户端”可以在不关联的情况下监控流量,但如果您使用 WPA 或 WPA2,其解密数据包的能力将受到限制。

相关内容