- ベストアンサー
IPとホスト名の変換について
お世話になります。 ホストからIPに変換する方法としてgethostbynameを使って変換したところ、違うIPが表示されてしまいます。 うまく取得出来るホストもありますが、一部のホストが何度やっても違うIPとなってしまいます。 正確に取得出来ない原因として、何かありますでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
IPアドレスから複数のホスト名が出てくる場合もあります。 さらに提示されているホストは、複数のネームサーバを介して名前とIPの変換を行いますが、 そのネームサーバの設定が一部異なっているようです。 そのため、名前解決時に使用するサーバの割り当てが変更する都度、結果も変わっているようですね。
その他の回答 (2)
- teketon
- ベストアンサー率65% (141/215)
ネームサーバはns.joetsu(略、ns1.joetsu、ns2、ns3が同様にあるようです。 nslookupコマンドを使用し、1の補足のサーバで正引き(名前からIP取得)を行うと、 解決できるサーバとできないサーバがありました。それが原因じゃないかなと思った次第です。
お礼
回答ありがとうございます。 丁寧に教えていただき、ありがとうございます。 確かに複数台のネームサーバーがあるようで、それが原因なのかもしれません。。。 とりあえず、もう少し調べてみます。 ありがとうございました。
- t-okura
- ベストアンサー率75% (253/335)
hosts ファイルで設定したアドレスが表示されているとか。 あるいは、ホスト名に対して複数のIPアドレスが定義されていることがありますが、その中のひとつを表示している。 http://docstore.mik.ua/orelly/perl/cookbook/ch18_02.htm の Perl CookBook の 「18.1. Simple DNS Lookups」に定義されている複数のアドレスを取得するコードがあります。
補足
回答いただきありがとうございます。 hostsファイルを確認してみましたが、そこには設定されていませんでした。 また、教えていただいたURLを確認して、試してみましたが同じ結果となってしまいました…。 例として現在試しているIPは202.32.154.3で、gethostbyaddrによりホストに変換すると202032154003.joetsu.ne.jpが取得出来ます。 逆に、202032154003.joetsu.ne.jpをgethostbynameでIPに変換しようとすると、全く違くIPが表示されてしまいます。 他のwebサイトではちゃんと取得出来ているところもありますので、取得出来ると思うのですが…。 その他、何か参考になる点はありませんでしょうか。 よろしくお願いします。
補足
回答いただきありがとうございます。 複数のネームサーバーを介してるとのことですが、それはどのようにしたら確認出来るのでしょうか? そこら辺り勉強不足で、教えていただけるとありがたいです。 また、URLも拝見させていただきましたが、IPからホストの変換は出来ているのですが、ホストからIPへの変換がやはり出来ないようです。。。 正引きの許可がされてないって可能性も考えられますでしょうか。