質問

いを行うには逆引きDNSルックアップ、どんな解決のIPアドレスをDNSホスト名Perl?

役に立ちましたか?

解決

gethostbyaddrと同様に発信します。見 http://perldoc.perl.org/functions/gethostbyaddr.html

他のヒント

が必要な場合は詳細な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, より詳細に示されている場合もあります。

use Socket;
$iaddr = inet_aton("127.0.0.1"); # or whatever address
$name  = gethostbyaddr($iaddr, AF_INET);
perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("69.89.27.250"), AF_INET)'

戻り値: んでいるのが文字列ターミネーター"'"どこでも前EOFで-eライン1.

perl -MSocket -E "say scalar gethostbyaddr(inet_aton(\"69.89.27.250\"), AF_INET)"

戻り値: box250.bluehost.com

していますの変更線を利用ダブルクォートして逃げ出し、引用符のIPアドレス

ワン-ライナー:

perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("79.81.152.79"), AF_INET)'

ができ、IPv4の場合を行うことができ経常にDNSルックアップできるものを逆照会ます。のIPv4アドレスA.B.C.Dていない商品については、他のPTRファーム"D.C.B.A.in-addr.arpa.IPv6いただきますの128六角槽を裏返して追加がipv6対応します。arpa.とも同じです。

まgethostbyaddrい合、さらにお得な価格でのご提供, Net::DNS ではの自由度は飛躍的に向上します。

この方法が有効であると思われ...

$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];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top