• ベストアンサー

gethostbyaddrからリモートホストを得る仕組みを教えてください

たとえば、IPアドレスが255.255.255.255という情報から、gethostbyaddr関数を使って、tokyo01.ppp11.***.ne.jpというリモートホストを得る仕組みを教えてください。 どうやって逆引きしてるんでしょうか? ローカルサーバーでgethostbyaddrを使うと、インターネットに接続されているときはリモートホストを返すますが、インターネットの接続を切るとリモートホストを返しません。 ネームサーバに問い合わせるのでしょうか? だとすると、どのネームサーバーが使われるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.1

ご指摘の通り、逆引きは正引きと同様にネームサーバーに問合せを行います。 使用OSが書いていないのではずしているかもしれませんが、Windowsの場合は、コマンドプロンプトからipconfig /allと叩いてみてください。使用中のネームサーバーのIPアドレスが表示されます。またwinipcfgコマンドでも確認できます。 UNIX系OSの場合は、/etc/resolv.confファイルを見てください。 nameserver www.xxx.yyy.zzz という行があるはずなので、これがネームサーバーです。 インターネット接続していないと逆引きできないというのは、インターネット接続時以外の通常時に使用されるネームサーバーが指定されていないためです。 Windowsであれば、ネットワークコンピュータ→プロパティ→ネットワークカードにバインドされているTCP/IPプロトコルを選択して、プロパティ→DNSタブで設定できます。 ローカルのLAN上にネームサーバーが存在しなければ、取りあえずサーバー上で以下の設定をすれば逆引きできるようになると思います。 Win9x系 c:\windows\hosts WinNT系 c:\windows\system\drivers\etc\hosts UNIX系 /etc/hosts のファイルに逆引きしたいIPアドレスとホスト名を書いてみてください。

関連するQ&A