给定计算机IP地址的计算机名称是什么命令? 。

#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/

评论


ldns的drill实用程序也使用相同的语法,即drill -x 123.123.123.123

– Tullo_x86
19-09-19在1:42



#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;