Linux中,使用
systemdresolve status
或cat /etc/resolv.conf
查看DNS;本机DNS服务器地址是网络管理和故障排除中的一项重要任务,以下是使用不同命令在不同操作系统下查看DNS信息的详细指南:
Windows系统
ipconfig /all
- 功能:该命令用于显示计算机网络接口的详细信息,包括IP地址、子网掩码、默认网关和DNS服务器等。
- 操作步骤:
- 打开命令提示符窗口(按下Win键+R键,输入“cmd”并回车)。
- 输入命令
ipconfig /all
并回车。 - 在输出的信息中,找到“DNS服务器”字段,即可看到本机当前使用的DNS服务器的地址。
- 示例输出:
项目 | |
---|---|
主机名 | DESKTOPXXXXX |
IPv4地址 | 168.1.2 |
主DNS后缀 | |
主WINS后缀 | |
DNS服务器 | 168.1.1 8.8.8 |
ipconfig /displaydns
- 功能:该命令用于显示本地DNS缓存的内容。
- 操作步骤:
- 在命令提示符窗口中输入
ipconfig /displaydns
并回车。 - 系统将列出当前缓存中的DNS记录。
- 在命令提示符窗口中输入
- 示例输出:
记录名称 | 记录类型 | 生存时间 | 数据地址 |
---|---|---|---|
example.com | A | 300 | 184.216.34 |
ipconfig /flushdns
- 功能:该命令用于清除本地DNS缓存,强制系统重新查询DNS服务器以获取最新的记录。
- 操作步骤:
- 在命令提示符窗口中输入
ipconfig /flushdns
并回车。 - 系统将清除DNS缓存并显示确认信息。
- 在命令提示符窗口中输入
Linux系统
cat /etc/resolv.conf
- 功能:该命令用于查看本机的DNS服务器配置,在
resolv.conf
文件中,可以找到配置的DNS服务器IP地址。 - 操作步骤:
- 打开终端。
- 输入命令
cat /etc/resolv.conf
并回车。 - 该命令会输出DNS配置文件的内容,包括常见的DNS服务器地址和其他配置信息。
nameserver
用于指定DNS服务器的IP地址,可以有多个。
- 示例输出:
- 功能:该命令用于查看本机的DNS服务器配置,在
# Generated by NetworkManager
search localdomain
nameserver 192.168.1.1
nameserver 8.8.8.8
nmcli dev show | grep DNS
- 功能:该命令用于显示当前系统中所有网络设备的DNS服务器地址。
- 操作步骤:
- 打开终端。
- 输入命令
nmcli dev show | grep DNS
并回车。 - 这会显示当前系统中所有网络设备的DNS服务器地址。
- 示例输出:
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 8.8.8.8
systemdresolve status
- 功能:该命令用于显示当前网络连接的DNS配置,包括DNS服务器的IP地址和域名解析的状态。
- 操作步骤:
- 打开终端。
- 输入命令
systemdresolve status
并回车。 - 该命令会显示当前网络连接的DNS配置,包括DNS服务器的IP地址和域名解析的状态。
- 示例输出:
Global
DNS Servers: 192.168.1.1
8.8.8.8
DNS Over TLS: no
DNSSEC support: yes
...
macOS系统
scutil dns
- 功能:该命令用于显示当前系统的DNS配置信息,包括DNS服务器地址、搜索域等。
- 操作步骤:
- 打开终端。
- 输入命令
scutil dns
并回车。 - 该命令会显示当前系统的DNS配置信息,包括DNS服务器地址、搜索域等。
- 示例输出:
DNS configuration
resolver #1
search domain: localdomain
nameserver[0] : 192.168.1.1
nameserver[1] : 8.8.8.8
...
通用工具
nslookup
- 功能:该命令用于查询指定域名的IP地址和其他相关信息,适用于Windows、Linux和macOS系统。
- 操作步骤:
- 打开终端或命令提示符窗口。
- 输入命令
nslookup example.com
(将example.com
替换为你要查询的域名)并回车。 - 该命令会查询指定域名的IP地址和其他相关信息,并显示出来。
- 示例输出:
Name: example.com
Address: 93.184.216.34
dig
- 功能:该命令用于查询域名的DNS信息,并提供更详细的结果,适用于Linux和macOS系统(Windows需安装BIND工具包)。
- 操作步骤:
- 打开终端。
- 输入命令
dig example.com
(将example.com
替换为你要查询的域名)并回车。 - 该命令会返回域名的IP地址、TTL(TimeToLive)、授权DNS服务器等信息。
- 示例输出:
; <<>> DiG 9.16.1 <<>> example.com
;; global options: +cmd
;; Got answer:
;; >>HEADER<<opcode: QUERY, status: NOERROR, id: 57377
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
;; Query time: 57 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Apr 03 12:34:56 UTC 2023
;; MSG SIZE rcvd: 60
相关问题与解答
问:如何更改本机的DNS服务器地址?
答:在Windows系统中,可以通过控制面板进入“网络和共享中心”,然后点击“更改适配器设置”,右键点击当前网络连接并选择“属性”,在弹出的窗口中找到“Internet协议版本4(TCP/IPv4)”并双击,选择“使用下面的DNS服务器地址”,然后输入新的DNS服务器地址并保存,在Linux系统中,可以编辑/etc/resolv.conf
文件,添加或修改nameserver
行来指定新的DNS服务器地址,在macOS系统中,可以打开“系统偏好设置”,选择“网络”,选择当前网络连接并点击“高级”,在“DNS”选项卡中添加或修改DNS服务器地址。
问:为什么有时候更改了DNS服务器地址但似乎没有生效?
答:可能的原因有几个:一是DNS缓存未被清除,旧的DNS记录仍然被使用,可以尝试清除本地DNS缓存(Windows使用ipconfig /flushdns
,macOS使用sudo dscacheutil flushcache
,Linux使用sudo systemctl restart nscd
或类似命令),二是网络配置错误或冲突,确保新的DNS服务器地址正确且网络设置没有冲突。