在 Mac OS X 中从命令行获取 DNS 服务器 IP 地址

OS X 中的终端 networksetup 实用程序在任何 Mac 上快速检索活动的 DNS 服务器 IP 地址。这是从命令行完成的,因此启动终端应用程序并键入以下命令字符串之一,具体取决于 Mac 上运行的 OS X 版本。

在新版本的 OS X 中从终端检索 DNS 详细信息,包括在 OS X Yosemite、Mac OS X 10.7 Lion、OS X 10.8 Mountain Lion、10.9 Mavericks 和更高版本中,是使用以下网络设置语法完成:

networksetup -getdnsservers Wi-Fi

这假设您使用的是 Wi-Fi,现在我们大多数人都在使用 Wi-Fi。如果没有,请将 Wi-Fi 替换为以太网或您选择的接口。

在早期版本的 OS X 中从命令行获取 DNS 信息,例如 Mac OS X 10.6 Snow Leopard、10.5 和更早版本,请改用以下语法:

networksetup -getdnsservers 机场

请注意,我在这些示例字符串中指定了“Wi-Fi”或“机场”,因为我主要使用无线连接,但您也可以指定以太网和蓝牙以获取这些接口的 DNS 详细信息。只需将后面的接口文本替换为您要为其识别 DNS​​ IP 信息的接口,通常计算机上的每个接口都相同。

假设在 Mac OS X 的网络首选项中设置了多个 DNS 服务器,您将看到按优先级顺序排列的每个 DNS 服务器的报告,如下所示:

8.8.8.8
208.67.220.220
208.67.222.222
10.0.0.1

对于那些想知道的人,该示例列表中最靠前的 DNS IP 是谷歌的公共 DNS,接下来的两个来自 OpenDNS,最后一个是本地路由器。如果需要,您可以使用 namebench 等免费实用程序查找快速 DNS 服务器

此外,您可以在服务器上使用“nslookup”命令检索 DNS 信息,这将报告远程服务器的 DNS 详细信息,以及您自己的主 DNS 以解析其他服务器:

nslookup google.com

这将返回如下内容,第一个“服务器”和“地址”位显示本地计算机使用的 DNS IP:

$ nslookup google.com
服务器:8.8.8.8
地址:8.8.8.8#53

非权威答案:
名称:google.com
地址:74.125.239.135

最后,另一种选择是查看 /etc/resolv.conf,但由于该文件是自动生成的,因此如果 DNS 最近更改且尚未 已刷新,请注意 刷新 DNS 在新版本的 OS X 中有点不同,因为 Apple 已多次更改 DNS 的功能。