假设已经配置了一个标准的以太网连接 - 有一个 IPv4 地址、一个子网规范、一个默认路由,甚至 resolv.conf 中的名称服务器,到处都是静态路由 - 客户端软件是否有可能在同一网络上找到路由到互联网的其他主机?
我猜想人们可以使用指向可能的路由器的以太网帧将数据包发送到例如 8.8.8.8,然后查看是否有其他返回。我不明白为什么它不起作用,但我试图找出为什么它在实践中没有这样做。现代 Windows 会这样做吗?Skype 不会尝试这样做吗?
从安全角度来说,我想问的是这种可能的隐蔽通道是否可以被 Skype 等“稍微有故障”的软件自动发现。
答案1
如果正常情况下,可以检测路由器。在许多大型网络中,路由器使用一种称为路由协议。
在局域网中,RIP或者开放源协议 (OSPF)运行,以便您检测路由器。在公共互联网上,最常见的路由协议是边界网关协议
但是大多数消费者“路由器/交换机/NAT/网关”盒不执行 RIP,或者默认情况下不启用它。因此像 Skype 这样的消费产品实际上不会从中获益。此外,对于作为 TCP/IP 应用程序的 Skype 来说,开始摆弄路由表和路由协议会违反分层规定。路由表属于整个系统。如果单个应用程序摆弄路由表,很多事情都可能被破坏。
答案2
虽然这是可能的,但我很确定应用程序除非另有说明,否则都会遵循操作系统的网络堆栈提供的内容。