IPv6アドレスの解決(Net::DNS)

ここでは、Net::DNSを使ってIPv6アドレスを表すAAAAレコードを取得する方法を説明したいと思います。

Net::DNSサンプル

以下に単純なサンプルを示します。


#!/usr/bin/perl

use Net::DNS;

$res = Net::DNS::Resolver->new;
$query = $res->search('www.kame.net', 'AAAA');

#失敗した場合
if (!$query) {
  print $res->errorstring;
  print "\n";
  exit;
}

#結果を1行づつ表示
foreach $rr ($query->answer) {
  if ($rr->type eq "AAAA") {
    print $rr->address;
    print "\n";
  }
}

exit;


単一のホスト名(もしくはFQDN)に複数のIPアドレスが関連つけられていることがあるため、resolvの結果は複数になっています。

AAAAは「クワッドエー」と読みます。 IPv4のアドレスはAレコードで表されます。 32bitのIPv4アドレスの4倍のビット数を持つIPv6アドレスを表すレコード名は、Aの数も4倍の4になっています。

IPv6基礎検定

YouTubeチャンネルやってます!