gethostbyname

gethostbyname関数の使用例である。
ネットワーク・ホスト名を対応するIPアドレスに変換するというものである。

プログラミング その(1) $host = 'www.tokyo-np.co.jp'; ($name, $aliases, $addrtype, $length, @ipadr) = gethostbyname($host); foreach (@ipadr){ @addr = unpack('C4',$_); $iaddr = sprintf("Address = [%d.%d.%d.%d]\n", @addr); print $iaddr,"\n"; } その(2) $host = 'www.tokyo-np.co.jp'; ($name, $aliases, $addrtype, $length, @ipadr) = gethostbyname($host); foreach (@ipadr){ @addr = unpack('C4',$_); print "Addres = $addr[0].$addr[1].$addr[2].$addr[3]","\n"; }

実行例
$host = 'www.tokyo-np.co.jp';
Addres = 43.253.231.208
と表示される。これが何をあらわしているのか、いまいちよくわからない。

この値をIPアドレスを逆引きすると次のようになる。
元のデータになっていない点に注意。そこではgethostbyaddr関数を使っている。
IPアドレス: 43.253.231.208
ホスト名 : host231-208.accelia.net
どうやら東京新聞のホームページはここに置かれているようである。

それと同系統の中日新聞(こちらが本家)も同じようである。やはり同じところに置いてあるようである。
$host = 'www.chunichi.co.jp';
Addres = 43.253.141.89
IPアドレス: 43.253.141.89
ホスト名 : host141-89.accelia.net

EXECUTE
上のサンプルの実行例(labo_0006)
後半の2つの数値は実行するたびに異なるのが普通。

- 2018/07/10 -