福光さん,こんばんわ。 返事遅くなりました。ゴメンナサイ。
> これもリゾルバを呼び出しているのでしょうか?
そうですね。
> (Winsockプログラミングの教則本に載っているpingコマンドはgethostbyname関数を使って実装していますね)。
gethostbynameがリゾルバを呼び出すための関数ですから, それを使っているっていうことはリゾルバを呼び出している っていうことになりますね。
> pingコマンド(※)はICMPのプロトコルで動作しているにもかかわらず、
ICMPのパケットを扱うっていうことと, リゾルバを呼び出すことはまったく別のことなので, ICMPを使うプログラムがリゾルバを呼び出しても,何もおかしくありません。 リゾルバを呼び出して名前解決するっていうことは, ホスト名からIPアドレスを調べるっていうだけのことですから。
>名前解決できるかを診断するには一般にnslookupを使います。
pingでホスト名を指定することによって 名前解決できるかどうか判断する方法もあるでしょう。 単に名前解決ができるかどうかだけ調べるだけなら, それでも十分だからです。 一方,nslookupの方は名前解決の可否だけでなく, もっといろいろな事を調べることができます。 もう少し詳しく言うと,名前解決が可能かどうかは, DNSのAレコードに対する問い合わせができるか否かということになりますが, nslookupを使えばAレコードの問い合わせだけでなく, PTRレコードを調べたり(いわゆる逆引きですね), MXレコードを調べたり,その他のレコードを調べたり, TCP/IPの設定項目に指定されたものと異なるDNSサーバにを指定できたり, というようにいろいろな問い合わせができる,っていうことです。 nslookupを使う意義は,そちらの方にあるんじゃないかしら。
>pingよりもnslookupを使ったほうがよいと聞いたことがあるのですが、
これは,上に書いたようにいろいろなことができるから, そちらの方がよい,という話なんじゃないかしら。
More information about text formats
nslookupは名前解決以外の問い合わせも可能
福光さん,こんばんわ。
返事遅くなりました。ゴメンナサイ。
> これもリゾルバを呼び出しているのでしょうか?
そうですね。
> (Winsockプログラミングの教則本に載っているpingコマンドはgethostbyname関数を使って実装していますね)。
gethostbynameがリゾルバを呼び出すための関数ですから,
それを使っているっていうことはリゾルバを呼び出している
っていうことになりますね。
> pingコマンド(※)はICMPのプロトコルで動作しているにもかかわらず、
ICMPのパケットを扱うっていうことと,
リゾルバを呼び出すことはまったく別のことなので,
ICMPを使うプログラムがリゾルバを呼び出しても,何もおかしくありません。
リゾルバを呼び出して名前解決するっていうことは,
ホスト名からIPアドレスを調べるっていうだけのことですから。
>名前解決できるかを診断するには一般にnslookupを使います。
pingでホスト名を指定することによって
名前解決できるかどうか判断する方法もあるでしょう。
単に名前解決ができるかどうかだけ調べるだけなら,
それでも十分だからです。
一方,nslookupの方は名前解決の可否だけでなく,
もっといろいろな事を調べることができます。
もう少し詳しく言うと,名前解決が可能かどうかは,
DNSのAレコードに対する問い合わせができるか否かということになりますが,
nslookupを使えばAレコードの問い合わせだけでなく,
PTRレコードを調べたり(いわゆる逆引きですね),
MXレコードを調べたり,その他のレコードを調べたり,
TCP/IPの設定項目に指定されたものと異なるDNSサーバにを指定できたり,
というようにいろいろな問い合わせができる,っていうことです。
nslookupを使う意義は,そちらの方にあるんじゃないかしら。
>pingよりもnslookupを使ったほうがよいと聞いたことがあるのですが、
これは,上に書いたようにいろいろなことができるから,
そちらの方がよい,という話なんじゃないかしら。