我是接受 RDP 连接的服务器上的管理员。当客户端连接时,我知道客户端的计算机名称。使用 netstat 我可以确定已为 RDP 建立了哪些连接。
ping 命令及其变体仅在我通过 IP 地址 ping 时才有效;但是,该命令不会返回主机名。如果我通过主机名 ping,该命令将始终失败。nslookup 命令在主机名和 IP 地址上始终失败。nbstat 命令在计算机上不可用。
问题
如果我同时拥有主机名和 IP 地址,我该如何将它们匹配?
命令行工具、C# 编程解决方案或两者的结合都是可行的选择。
答案1
识别 nslookup 正在使用的 DNS 服务器。如果您或您的公司拥有/运营 DNS 服务器,您可以添加所需的主机名和 IP 地址。
如果您无法控制 DNS,最好的解决方案是设置您自己的本地 DNS 服务器并添加每个主机。
一个快速但不完美的解决方案是将每个主机添加到服务器主机文件中。
检查主机文件/常见的 Windows DNS 问题: 相关技术链接
答案2
答案很简单,您用来执行此操作的所有标准工具都坏了。您应该能够执行以下步骤。
首先,打开 nslookup。
C:\Users\wesley>nslookup
Default Server: some.server.tld
Address: 1.1.1.1
其次,确保您正在寻找对您的域具有权威性的 Active Directory 域控制器:
> server [server hostname or IP address here]
Default Server: dodzi.dzakuma-server.tld
Address: 2.2.2.2
第三,查询您想要了解更多信息的 PC 的主机名:
> hostname.tld
Server: dodzi.dzakuma-server.tld
Address: 2.2.2.2
第四,得到回复:
Non-authoritative answer:
Name: hostname.tld
Address: 3.3.3.3
第五,如果存在反向查找区域,并且通常存在于 Active Directory 域中,则可以使用nslookup
IP 地址:
C:\Users\wesley>nslookup 3.3.3.3
Server: dodzi.dzakuma-server.tld
Address: 2.2.2.2
Name: hostname.tld
Address: 3.3.3.3
如果这些都不起作用,那么就还有更深层次的问题需要研究和解决。