#1 楼
dig和host应该是您要寻找的内容;)http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
在* nix系统上,您可以执行以下命令:
在Windows上,请使用
dig -x [address]
EDIT:* nix系统上的nslookup工作也是如此。有关nslookup命令的更多信息,是否似乎已经被替换了一段时间:http://linuxreviews.org/man/nslookup/
#2 楼
在* nix上,您可以使用:dig -x [address]
评论
这绝对是最简单的方法。最后加上+ short,除了rdns结果外,什么都不会返回。 dig -x [地址] +短
– ColinM
2012-3-1在3:36
该+ short标志确实有用!
–尼尔
2012年9月13日下午13:59
这对IPv6地址有效吗?
–老年病
16年9月12日在3:35
@ColinM好点。我已经基于此编辑了答案。谢谢!
– Marc-Andre R.
17年4月25日在11:14
是的,@ Geremia,根据man dig的说法,addr是点分十进制表示形式的IPv4地址,或者是冒号分隔的IPv6地址。
–里卡多
18年8月21日在22:18
#3 楼
在我知道的大多数Linux系统上,都可以使用: nslookup <ip-number EX: 127.0.0.1>
将在命令行上运行。
请考虑一下,nslookup在Windows XP上不可用吗?
评论
确实是的。在Windows的早期版本中。
– Kubanczyk
09年7月1日在18:30
#4 楼
尝试“主机”使用
host
正向查找:$ host google-public-dns-b.google.com.
google-public-dns-b.google.com has address 8.8.4.4
google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
使用
host
反向查找: /> 类似于挖掘
使用
dig
正向查找:$ host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
反向查找
dig
:$ dig google-public-dns-b.google.com. +short
8.8.4.4
尝试“ rdt”
需要更多的设置。但是,如果执行此操作,则可以从命令行运行此“ rdt” PHP脚本,这非常妙。它在正向和反向查找之间进行了一些往返。
从此处下载:https://github.com/grawity/code/blob/master/net/rdt
示例。这是工作时的样子:
$ dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
#5 楼
这个问题已经有百万个答案,但我要再添加一个。这是我编写的一个小功能,用于通过dig轻松进行反向DNS。将此添加到您的~/.bashrc
文件中,重新加载您的外壳程序,然后您可以使用revdns 1.2.3.4
进行反向DNS查找: ) 记录。如果要对“ 1.2.3.4”进行反向DNS,则必须查找“ 4.3.2.1.in-addr.arpa”的指针记录。我的函数接收一个IP地址,反转八位字节的顺序(即,将其从1.2.3.4更改为4.3.2.1),然后使用dig
执行我刚刚描述的PTR查找。当然可以使用nslookup 1.2.3.4
,但我更喜欢这种基于dig的解决方案,因为它使用操作系统的DNS服务器而不是nslookup提供的服务器(如果需要,您可以添加其他dig标志当您致电revdns
时,它们将被传递给dig)评论
根据其帮助,dig -x点表示法是“反向查找的快捷方式”。我想知道长版本会是什么。感谢您的解释! :)
– webwurst
18年7月11日在15:43
来自man dig:使用-x时,无需提供名称,类和类型参数。 dig自动为94.2.0.192.in-addr.arpa之类的名称执行查找,并将查询类型和类分别设置为PTR和IN。
–里卡多
18年8月21日在22:15
#6 楼
我很清楚dig / host / nslookup是用于这些工具的标准工具,但我一直使用它们来测试操作系统的分辨率(本质上是为了测试nsswitch.conf是否正常工作):gethostbyname :
#!/usr/bin/perl
use Socket;
my @t = gethostbyname($ARGV[0]);
print "$name = $t[0]\n"; shift(@t);
print "$aliases = $t[0]\n"; shift(@t);
print "$addrtype = $t[0]\n"; shift(@t);
print "$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
gethostbyaddr:
#!/usr/bin/perl
use Socket;
my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "$name = $t[0]\n"; shift(@t);
print "$aliases = $t[0]\n"; shift(@t);
print "$addrtype = $t[0]\n"; shift(@t);
print "$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
示例:
g3 0 /home/jj33/swap > gethostbyname www.google.com
$name = www.l.google.com
$aliases = www.google.com
$addrtype = 2
$length = 4
= 72.14.205.147
= 72.14.205.103
= 72.14.205.104
= 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147
$name = qb-in-f147.google.com
$aliases =
$addrtype = 2
$length = 4
= 72.14.205.147
/>
评论
您可以执行“获取主机[IP或HOSTNAME]”
– Hayalci
09年5月27日在9:44
嗯...我最初编写这些工具只是为了与这些功能一起使用,因此在这里没有损失,但是如果我知道getent工具,我当然不会将它们粘贴到serverfault中。感谢您的指导。
– jj33
2009年5月27日14:06
-1:它们仅限于IPv4,当存在时,gethostbyname不会检索IPv6地址,并且gethostbyaddr不接受IPv6地址。
– Bortzmeyer
09年9月23日在7:14
这些功能已过时多年。在撰写本文时,他们甚至已经过时了。在perl和大多数其他语言中,应使用getaddrinfo和getnameinfo。
–迈克尔·汉普顿
16-2-3在23:58
#7 楼
在Windows上,我养成了以下习惯:ping -a <ip address>
,因为这也将反映来自
hosts
文件和WINS的数据。#8 楼
如果您使用的是nslookup,就是这个(假设192.168.0.1作为有问题的IP)> set type=ptr
> 1.0.168.192.in-addr.arpa
编辑:是为IP创建的PTR记录,不能保证返回您要查找的主机名。完全取决于您所处环境中DNS的配置和维护方式。
评论
nsloookup不再被维护,其作者推荐dig。此外,dig -x比自己反转字节要简单得多。
– Bortzmeyer
09年5月12日在13:23
很高兴知道,非常感谢您的投入!旧习难改 ;)
–squillman
09年5月12日在13:47
#9 楼
Powershell:[net.dns]::gethostentry("69.59.196.212").HostName
#10 楼
好吧,一个友好的人刚刚写了nslookup是命令,他是对的。它在Unix和Windows上均可使用。不知道为什么删除答案,但是您是正确的先生。评论
错误,也许不是。
– Peter Turner
2009年5月11日15:57
是的,我确实发了一些快,检查后我不确定所有答案,我只是放回我的帖子并对其进行编辑以添加更多详细信息
– Marc-Andre R.
09年5月11日15:58
是的,是的,但是我接受这个答案。太糟糕了,我们在这里无法获得实时的Googley AJAX。
– Peter Turner
2009年5月11日15:59
大声笑是的,我们不能拥有一切;)祝您有美好的一天,希望对您有所帮助;)
– Marc-Andre R.
09年5月11日在16:05
#11 楼
nbtstat -a评论
nbstat不是DNS实用程序,而是WINS / NetBIOS
–user2320464
16年2月4日,1:12
#12 楼
我更喜欢Windows的命令行挖掘(可在此处找到:http://members.shaw.ca/nicholas.fong/dig/)而不是nslookup。如果必须从Windows工作站测试/管理DNS,请使用此工具。然后:
C:\dig>dig -x <IP Address>
...也,请记住在路径中添加c:\ dig!
#13 楼
她是我进行更完整的DNS反向查找的依据。希望这对以后的页面查看者有用。for ip in {1..254..1}; do dig -x 1.1.1.$ip | grep $ip >> dns.txt; done;
评论
ldns的drill实用程序也使用相同的语法,即drill -x 123.123.123.123
– Tullo_x86
19-09-19在1:42