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