DouglasJose Asked: 2009-10-14 06:27:22 +0800 CST2009-10-14 06:27:22 +0800 CST 2009-10-14 06:27:22 +0800 CST 从 IP 地址解析主机名 772 我正在寻找一个命令行工具,它可以获取 IP 地址并返回主机名,适用于 Windows。 windows 8 个回答 Voted Best Answer Ward - Reinstate Monica 2009-10-14T06:29:51+08:002009-10-14T06:29:51+08:00 您要查找的命令称为nslookup,适用于反向查找IFF有人配置了反向区域文件,但他们并不总是这样做。 Moose 2009-10-14T08:32:20+08:002009-10-14T08:32:20+08:00 如果以上所有方法都失败了,并且您正在专门寻找 Windows 机器,您可以使用 nbtstat -a 192.168.1.50 返回的数据将是机器拥有的所有 NetBIOS 记录。<20h> 记录类型通常是机器的名称。 Marko Carter 2009-10-14T06:44:45+08:002009-10-14T06:44:45+08:00 对于许多 IP 地址,您可以只使用 ping -a,例如 ping -a 209.85.229.106 将返回 Pinging ww-in-f106.google.com [209.85.229.106] with 32 bytes of data: Reply from 209.85.229.106........... Kyle Brandt 2009-10-14T06:36:49+08:002009-10-14T06:36:49+08:00 如果您使用 nslookup 命令并将 IP 地址作为其第一个参数,则将返回 PTR 记录(反向条目)(如果存在)。例如: nslookup 192.168.1.50 squillman 2009-10-14T06:35:32+08:002009-10-14T06:35:32+08:00 使用挖掘。此处的 ISC 提供了一个 Windows 端口(在立即下载框中查找 zip 文件的链接)。这是他们的 dig 手册页参考。 Ward关于反向查找记录通常不会被创建的观点是非常正确的。反向查找通常会失败,因为许多管理员不会费心创建 ptr 记录。 script'n'code 2017-07-18T06:22:53+08:002017-07-18T06:22:53+08:00 (在 Windows 10 x64 下测试) 从命令行: FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A 在脚本中: FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A 两个(旁)注: 要抑制NSLOOKUP错误,您必须使用2^>NUL而不是1^>NUL 我曾经FINDSTR /C在四个空白字符之后提取值。由于四个空格似乎只存在于Name:条目中,因此这似乎是使其在其他本地化系统上工作的唯一方法。 Sahin 2019-07-26T00:29:32+08:002019-07-26T00:29:32+08:00 psexec \192.168.0.65 主机名 DMHD006 主机名在 192.168.0.65 上退出,错误代码为 0。 user422366 2017-06-28T15:34:47+08:002017-06-28T15:34:47+08:00 如果您想知道同一网络中的主机名,请使用另一台具有相同网络的机器并在下面使用推荐 Ping -an ip addres
您要查找的命令称为
nslookup
,适用于反向查找IFF有人配置了反向区域文件,但他们并不总是这样做。如果以上所有方法都失败了,并且您正在专门寻找 Windows 机器,您可以使用
返回的数据将是机器拥有的所有 NetBIOS 记录。<20h> 记录类型通常是机器的名称。
对于许多 IP 地址,您可以只使用 ping -a,例如
将返回
如果您使用 nslookup 命令并将 IP 地址作为其第一个参数,则将返回 PTR 记录(反向条目)(如果存在)。例如:
使用挖掘。此处的 ISC 提供了一个 Windows 端口(在立即下载框中查找 zip 文件的链接)。这是他们的 dig 手册页参考。
Ward关于反向查找记录通常不会被创建的观点是非常正确的。反向查找通常会失败,因为许多管理员不会费心创建 ptr 记录。
(在 Windows 10 x64 下测试)
从命令行:
FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A
在脚本中:
FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A
两个(旁)注:
NSLOOKUP
错误,您必须使用2^>NUL
而不是1^>NUL
FINDSTR /C
在四个空白字符之后提取值。由于四个空格似乎只存在于Name:
条目中,因此这似乎是使其在其他本地化系统上工作的唯一方法。psexec \192.168.0.65 主机名
DMHD006 主机名在 192.168.0.65 上退出,错误代码为 0。
如果您想知道同一网络中的主机名,请使用另一台具有相同网络的机器并在下面使用推荐
Ping -an ip addres