为什么 netstat 报告错误的机器名?

为什么 netstat 报告错误的机器名?

我需要调查哪些客户端连接到我的应用程序,为此我使用了 netstat 命令。我注意到有时它不会向我报告正确的机器名称。

为什么会发生这种情况?有没有更好的方法来获取连接到我的服务器的客户端列表?

答案1

我相信 netstat 正在获取连接主机的 IP 地址并对该地址执行反向 DNS 查找(我知道这是 Unix netstat 的工作方式,我怀疑这也是 Windows netstat 的工作方式)。

因此,首先,网络名称不一定与机器名称有任何关系。其次,在 DNS 内部,网络名称和地址具有多对多关系。也就是说,给定名称查找可能返回地址列表,地址查找可能返回名称列表 - 但列表中条目的顺序可能不同,并且列表可能不匹配。此外,软件无法正确处理 DNS 列表答案并仅使用列表中的第一个项目的情况并不少见。

因此,您对网络连接主机的“正确”名称的概念可能与该主机的 DNS 管理认为的“正确”名称不一致。从不同的角度来看,你们可能都是对的,但由于您是从 DNS 查找中获取名称的,因此 DNS 答案就是您得到的名称。

相关内容