プロが教えるわが家の防犯対策術!

お世話になります。

ホストからIPに変換する方法としてgethostbynameを使って変換したところ、違うIPが表示されてしまいます。
うまく取得出来るホストもありますが、一部のホストが何度やっても違うIPとなってしまいます。

正確に取得出来ない原因として、何かありますでしょうか?

よろしくお願いいたします。

A 回答 (3件)

IPアドレスから複数のホスト名が出てくる場合もあります。


さらに提示されているホストは、複数のネームサーバを介して名前とIPの変換を行いますが、
そのネームサーバの設定が一部異なっているようです。
そのため、名前解決時に使用するサーバの割り当てが変更する都度、結果も変わっているようですね。

参考URL:http://stackoverflow.com/questions/5682421/getti …

この回答への補足

回答いただきありがとうございます。

複数のネームサーバーを介してるとのことですが、それはどのようにしたら確認出来るのでしょうか?
そこら辺り勉強不足で、教えていただけるとありがたいです。

また、URLも拝見させていただきましたが、IPからホストの変換は出来ているのですが、ホストからIPへの変換がやはり出来ないようです。。。
正引きの許可がされてないって可能性も考えられますでしょうか。

補足日時:2013/02/07 16:46
    • good
    • 0

ネームサーバはns.joetsu(略、ns1.joetsu、ns2、ns3が同様にあるようです。


nslookupコマンドを使用し、1の補足のサーバで正引き(名前からIP取得)を行うと、
解決できるサーバとできないサーバがありました。それが原因じゃないかなと思った次第です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

丁寧に教えていただき、ありがとうございます。

確かに複数台のネームサーバーがあるようで、それが原因なのかもしれません。。。

とりあえず、もう少し調べてみます。

ありがとうございました。

お礼日時:2013/02/09 14:26

hosts ファイルで設定したアドレスが表示されているとか。



あるいは、ホスト名に対して複数のIPアドレスが定義されていることがありますが、その中のひとつを表示している。

http://docstore.mik.ua/orelly/perl/cookbook/ch18 …
の 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サイトではちゃんと取得出来ているところもありますので、取得出来ると思うのですが…。

その他、何か参考になる点はありませんでしょうか。
よろしくお願いします。

補足日時:2013/02/06 12:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!