概要

  • IPアドレスからホスト名を逆引きする。
  • IPv6 対応。

ソース

  • getHostName.zip
    #!/usr/bin/perl
    # ホスト名逆引き(IPv6にも対応)
    # http://www.alib.jp/perl/resolv.html
    
    use strict;
    use warnings;
    use utf8;
    use Encode;
    use Net::DNS::Resolver;
    
    my $ip = $ARGV[0] || '';
    my $name = getHostName( $ip );
    print "IP:\t${ip}\nHost:\t${name}\n";
    
    sub getHostName
    {
    	my $ip_address = shift || '';
    	my $ret = '';
    
    	my $resolver = Net::DNS::Resolver->new;
    	if ( my $ans = $resolver->query( $ip_address ) ){
    		for my $rr ( $ans->answer ){
    			#print $rr->string, "\n";
    			if ( $rr->type eq 'PTR' ){
    				$ret = $rr->ptrdname;
    				last;
    			}
    		}
    	}
    
    	return $ret;
    }
    
    # EOF

リンク