it-swarm.cn

从IP地址解析主机名

我正在寻找一个命令行工具,该工具可以获取Windows的IP地址并返回主机名。

137
DouglasJose

您要查找的命令称为nslookup,可以很好地用于反向查找[〜#〜] iff [〜#〜]有人配置了反向区域文件,而他们没有总是这么做。

125
Ward - Reinstate Monica

如果以上所有方法均失败,并且您正在寻找Windows计算机,则可以使用

nbtstat -a 192.168.1.50

返回的数据将是计算机拥有的所有NetBIOS记录。记录类型为<20h>的通常是机器的名称。

93
Moose

例如,对于许多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...........
61
Marko Carter

如果使用nslookup命令并将IP地址作为其第一个参数,则将返回PTR记录(反向条目)(如果存在)。例如:

nslookup 192.168.1.50
31
Kyle Brandt

使用Dig。可从ISC 这里 获得Windows端口(在立即下载框中查找Zip文件的链接)。这是他们的 Dig手册页参考

Ward's point 关于经常没有创建的反向查询记录是非常正确的。反向查找通常会失败,因为许多管理员不会费心创建ptr记录。

3
squillman

(在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:条目仅存在四个空格,因此这似乎是使其在其他本地系统上工作的唯一方法。
1
script'n'code

psexec\192.168.0.65主机名

DMHD006主机名已在192.168.0.65上退出,错误代码为0。

0
Sahin