1

我知道什么是 fqdn 和主机名。但我仍然不明白为什么这两个片段会返回不同的结果。返回一个 IP 地址,它实际上是我在 Windows 上使用 ipconfig 命令看到的以太网适配器 IP 地址
socket.gethostbyname(socket.gethostname())socket.gethostbyname(socket.getfqdn())返回一个我在 ipconfig 显示中看不到的 ip 地址,既不是以太网也不是 ppp。它是什么?
gethostname 的结果是相对于我的本地网络的 IP 地址,而 getfqdn 是相对于整个网络的结果吗?
如果我在远程网络中并且想要连接我的计算机或者我与我的计算机在同一个网络中,我应该使用两者中的哪一个?
实际上,当我离线尝试这两个片段时,它们都返回 127.0.0.1。

4

1 回答 1

0

当您离线执行这些命令时,您会得到 127.0.0.1,因为在您的 /etc/hosts 中,默认映射是:127.0.0.1 localhost。所以,你gethostname()被解析为 localhost 并且gethostbyname()是 127.0.0.1。

我相信,gethostbyname()将分别为 getfqdn() 和 gethostname() 返回父域名的 IP 或完全限定域名的 IP。它可能不同,也可能不同。

于 2013-07-12T21:34:31.137 回答