私はfqdnとホスト名が何であるかを知っています。しかし、この2つのスニペットが異なる結果を返す理由はまだわかりません。
は、実際にはWindowsのipconfigコマンドで表示されるイーサネットアダプタのsocket.gethostbyname(socket.gethostname())
IPアドレスであるIPアドレスを返します。しかしsocket.gethostbyname(socket.getfqdn())
、イーサネットとpppのどちらでもない、ipconfig表示に表示されないIPアドレスを返します。それは何ですか?
gethostnameの結果は、ローカルネットワークに関連するIPアドレスであり、ネット全体に関連するgetfqdnですか?
リモートネットワークにいてコンピューターを接続したい場合、またはコンピューターと同じネットワークにいる場合は、2つのうちどちらを使用すればよいですか?
実際、この2つのスニペットをオフラインで試してみると、どちらも127.0.0.1を返します。
質問する
1285 次
1 に答える
0
これらのコマンドをオフラインで実行すると、127.0.0.1 が返されます。これは、/etc/hosts のデフォルト マッピングが 127.0.0.1 localhost であるためです。したがって、あなたはgethostname()
localhost に解決され、gethostbyname()
127.0.0.1 です。
gethostbyname()
親ドメイン名の IP または getfqdn() と gethostname() の完全修飾ドメイン名の IP をそれぞれ返すと思います。違うかもしれないし、違うかもしれない。
于 2013-07-12T21:34:31.137 に答える