题 Windows中用于执行反向DNS查找的命令行实用程序是什么?


是否有内置的命令行工具可以在Windows中进行反向DNS查找?即,像 <toolname> w.x.y.z => mycomputername

我试过了:

  • nslookup:似乎只是前瞻性的查找。
  • host:不存在
  • dig:也不存在。

我发现 ”什么是反向DNS命令行实用程序?“通过搜索,但这是专门寻找* nix实用程序,而不是Windows。


221
2017-07-15 14:22




应该编辑这个问题,说它并不是真的在寻找特定于DNS的解决方案。被拒绝的答案提供了答案,但问题是您实际上需要查找NetBIOS名称而不是DNS的内容。 - Barmar


答案:


ping -a w.x.y.z

如果已正确设置反向查找区域,则应从IP地址解析名称。如果反向查找区域没有记录条目,则 -a 只会在没有名字的情况下ping。


211
2017-07-15 14:25



这比nslookup更好,因为冲突的机器在另一个域上。非常感谢! - alastairs
在nslookup中你也可以尝试:set type = PTR <enter> w.x.y.z <enter> - Peter
@abstrask有最完整的答案 - vinnyjames
这个 作品,但它实际上是错误的工具。 Ping用于测量网络延迟,它执行名称(或IP)查找 副作用 它的主要目的。 - Massimo
@Massimo - 考虑到原始问题的限制,你会建议什么呢? Ping将解析DNS和netbios名称,如果您只是需要快速的话,它将成为一个很好的第一个工具。 - Peter


nslookup <ip>

你正在寻找什么。它会告诉您正在查询的服务器和结果。

例如:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39

101
2017-07-15 14:26



这是失败的消息“<DC>找不到w.x.y.z:不存在的域”,我无法找出原因。我试过@Peter的回答,发现冲突的机器在另一个域上。 - alastairs
它失败了,因为nslookup只关心DNS,而Windows中的名称可以并且将通过其他方式解析,如果DNS不够。 - Massimo


“ping”的问题在于它并不是严格意义上的名称服务器查找工具(如nslookup) - 例如,如果你ping一个主机名,它可以通过多种方法解析为IP地址:DNS查找,主机文件查找, WINS(上帝保佑)或NetBIOS广播。它还可以返回可能过时的缓存结果。

尝试方法的顺序取决于客户端的TCP / IP配置和节点类型标志:

  • B节点(1):广播
  • P节点(2):对等(仅限WINS)
  • M节点(4):混合(广播,然后WINS)
  • H节点(8):混合(WINS,然后广播)

要查看当前计算机的节点类型:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

如果解决方法无关紧要,请使用

ping -a w.x.y.z

要么

nslookup w.x.y.z

如你所愿。如果您需要确保查询DNS服务器的名称是正确的,请使用 NSLOOKUP

也可以看看


72
2018-01-22 23:00





使用NSLOOKUP和“-type = ptr”参数来查询IP地址,语法:

nslookup -type=ptr 1.2.3.4

然后还会打印“in-addr.arpa”条目(即使未找到),例如:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

与在没有type参数的IP地址上使用NSLOOKUP时的低保真度响应相比:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8

22
2017-07-15 14:25



如果要使用交互式nslookup,则在nslookup提示符下键入“set q = ptr”,然后在下一行输入IP。如果你像我一样疯狂的老派,那你直到现在才意识到你不再需要向后搜索IP,比如“1.0.0.127.in-addr.arpa”。 - Todd Wilcox
没有必要 -type=ptr 要么 set q=ptr 在所有 - nslookup 足够聪明地进行IP地址的重新命名并进行反向查找而不是前向 - abstrask
实际上-type = ptr对于正确的反向查找检查是必要的,因为它只用一个IP地址打印比nslookup更准确的结果。打印实际的in-addr.arpa条目(也是在未找到时)以帮助调试或只是澄清正在发生的事情要好得多。 - Tony Wall


nslookup将在Windows上执行反向DNS,就像在Linux上执行它一样。

当然,每个IP地址都没有反向条目


12
2017-07-15 14:29



好的一点是,并非所有主机都会为它们创建PTR记录 - Rowland Shaw
请注意,Linux,BSD和Windows上的nslookup执行不同的操作并且是不同的程序。 - Good Person
如果不存在PTR,你可以通过IP获取更多信息..... prob并不带有windoze lol - nandoP


像这样使用nslookup:

nslookup -type=PTR  127.0.0.1

6
2017-07-15 14:30





您可以使用标准的NSLOOKUP命令:

nslookup 123.123.123.123

为了获得结果,必须有一个 PTR记录 已注册有问题的IP地址。


5
2017-07-15 14:30





nslookup将在Windows中执行反向查找。

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

4
2017-07-15 14:25





在Windows下....

标准ping不返回IP地址的主机名

如果DNS设置正确,可以使用NSLookup查找此信息

程序如下:

打开DOS提示符

NSLOOKUP

set type = ptr

A B C D

结果将显示反向DNS服务器地址和主机名


3
2018-06-03 17:11





9个答案,没有人说如何用dig反向查找?这是最好的

dig -x w.x.y.z

此外,你可以添加“+ short”用于bash循环,脚本等....前进或后退:)


2
2018-06-03 17:19



没有人提到过 dig 因为它不附带Windows。 OP的问题甚至表明了这一点。 - jscott
dig 但是,通常是DNS故障排除的最佳选择。我认为建议使用更好的工具肯定有一些价值,即使它不附带Windows。 (可在Windows版本中使用 isc.org/software/bind) - Håkan Lindqvist


还有另一种方式。反转IP地址并使用nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

解决地址1.2.3.4


0
2017-10-14 04:54



你必须这样做 nslookup -type=PTR 4.3.2.1.in-addr.arpa 但是它实际上可以工作。 - Håkan Lindqvist