为什么没有 gethostbyname 的 Unix 命令?

为什么没有 gethostbyname 的 Unix 命令?

我知道主持人以及所有这些...但它们是 DNS 工具,它们不会查询本地解析器库。

/etc/hosts可以更改本地解析器返回的内容。本地解析器也会缓存。/etc/nsswitch.conf可以从解析路径中完全删除 DNS...

因此,没有命令可以检查本地解析器库有什么内容,这似乎很奇怪。

我通常会做这样的事情:

export VAR='"nics-acer"'; python -c "import socket; print(socket.gethostbyname($VAR));"

当我写了我的 Python 版本解析配置,我添加了一个开关来测试解析器,但是难道没有标准工具的原因吗?

答案1

有这样的命令:getent

请尝试以下操作:getent hosts google.comgetent hosts 8.8.8.8- 它将使用系统解析器进行查询(另请参阅/etc/nsswitch.conf检查实际查询的内容以及查询的顺序)。

相关内容