如何执行反向DNS查找,我如何在Perl中将IP地址解析为其DNS主机名?perl中的反向DNS查询
12
A
回答
19
gethostbyaddr和类似的调用。请参阅http://perldoc.perl.org/functions/gethostbyaddr.html
1
可能有一种更简单的方法,但对于IPv4,如果您可以执行普通DNS查找,则可以始终自行构建反向查询。对于IPv4地址A.B.C.D,请在D.C.B.A.in-addr.arpa查找任何PTR记录。对于IPv6,您可以使用128个十六进制小数点并翻转它们并追加ipv6.arpa。并做同样的事情。
1
如果gethostbyaddr不适合您的需求,Net::DNS更灵活。
13
use Socket;
$iaddr = inet_aton("127.0.0.1"); # or whatever address
$name = gethostbyaddr($iaddr, AF_INET);
19
如果您需要更详细的DNS信息使用Net::DNS模块,这里有一个例子:
use Net::DNS;
my $res = Net::DNS::Resolver->new;
# create the reverse lookup DNS name (note that the octets in the IP address need to be reversed).
my $IP = "209.85.173.103";
my $target_IP = join('.', reverse split(/\./, $IP)).".in-addr.arpa";
my $query = $res->query("$target_IP", "PTR");
if ($query) {
foreach my $rr ($query->answer) {
next unless $rr->type eq "PTR";
print $rr->rdatastr, "\n";
}
} else {
warn "query failed: ", $res->errorstring, "\n";
}
原文出处EliteHackers.info,更多的细节那里。
0
这可能是有用的...
$ip = "XXX.XXX.XXX.XXX" # IPV4 address.
my @numbers = split (/\./, $ip);
if (scalar(@numbers) != 4)
{
print "$ip is not a valid IP address.\n";
next;
}
my $ip_addr = pack("C4", @numbers);
# First element of the array returned by gethostbyaddr is host name.
my ($name) = (gethostbyaddr($ip_addr, 2))[0];
2
一行代码:
perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("79.81.152.79"), AF_INET)'
3
perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("69.89.27.250"), AF_INET)'
返回:无法找到字符串结束 “'” 在-e EOF之前的任何地方第1行。
perl -MSocket -E "say scalar gethostbyaddr(inet_aton(\"69.89.27.250\"), AF_INET)"
返回:box250.bluehost.com
我不得不改变线路用双引号,然后逃出各地的IP地址
相关问题
- 1. JavaScript反向DNS查询
- 2. 龙卷风异步反向DNS查询
- 3. Ruby net-dns反向查找
- 4. Ruby中的反向DNS?
- 5. 便宜的反向dns查找
- 6. 反向DNS和SMTP
- 7. NSStream - 反向DNS查找错误
- 8. 主持DNS允许反向查找
- 9. XPath反向查询
- 10. 反向engneering查询
- 11. 在PHP中的DNS查询
- 12. ASP/ASP.Net中的DNS查询
- 13. Azure反向DNS导入
- 14. 如何获得反向DNS?
- 15. EC2的反向DNS应该指向公有DNS还是域名?
- 16. Haskell的DNS查询
- 17. 反向SQL查询子查询
- 18. Django模板中的反向M2M查询
- 19. django查询中的简单反向
- 20. mysql查询反向打印
- 21. (反向)递归查询
- 22. 反向查询(降序)
- 23. 如何使用pod IP上的kube-dns启用反向DNS查找?
- 24. 在python中使用scapy进行反向dns查找
- 25. DNS查询结构
- 26. 查询DNS别名
- 27. DNS查询返回
- 28. 可以关闭NFS的反向DNS吗?
- 29. 大量的DNS查询
- 30. 如何禁用Java的SSL反向DNS查找
这可能引号,因为你使用windows下的cmd.exe 。 – spacebat 2013-06-13 04:49:16