Home > PHP

すべてのレコードからDNS検索をするPHP

2010.04.10 22:50
 たいしたことのない関数ですが、DNS検索のルーチンを作りました。実際に使用されているかどうかは別としてもDNSレコードに登録されているドメインを検索することができます。新規でドメインを取得する際などにそのドメインを取得できるかできないかを調べることができます。
 現存するレコードは、A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, ANY, TXT, AAAAということでこれらすべてのレコードをくまなく検索します。(AAAAはどれぐらい普及しているんでしょうか。)
 引数に与えるドメインは通常のセカンドレベルドメイン.ファーストレベルドメインやサブドメインを含んだものまでOKです。いずれにしろCNAMEまで調べてくれるのでサブドメインをも検索してくれます。
 返り値は配列で返ります。
  • [0]はブール値で1の場合はマッチ(取得済み)、0の場合は空きドメイン。
  • [1]はマッチした検索レコード。マッチしない場合は空。
  • [2]は検索対象ドメインをそのまま返します。
という風になっています。適当にスライスして使ってください。

<?
function domain_search ($domain) {
    /*
    domain_search ver 1.0
    Copy Right (c)2008-2010 omnioolab All Right Reserve.

    $dns_record = array(A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, ANY,TXT,AAAA);
  
    foreach ($dns_record as $k=>$v) {
        #print "$k=>$v<br />\n";
        $result_bool = checkdnsrr($domain,"$v");
        if ($result_bool) {
            $searched_record = $v;
            break;
        } else {
            next;
        }
    }
    return $re = array($result_bool,$searched_record,$domain);
}
?>






プロフィール



  • Name :: 山上オサム ♂(39)
  • Hobby :: 武術
  • Work :: Web Designer