读取 DNS(域名系统)通常有两种含义:一种是查询某个域名的解析结果(比如查看baidu.com 对应的 IP 地址),另一种是查看本机配置的 DNS 服务器地址,下面分别介绍常用方法:
1. 使用nslookup(Windows / macOS / Linux 通用)
查看 A 记录(IPv4 地址)
nslookup example.com
查看指定类型的记录(如 MX、TXT、NS)
nslookup -type=mx example.com nslookup -type=txt example.com nslookup -type=ns example.com
指定 DNS 服务器查询(例如使用 Google 的 8.8.8.8)
nslookup example.com 8.8.8.8
2. 使用dig(Linux / macOS,Windows 可通过 WSL 或安装 BIND 工具)
默认查询 A 记录 dig baidu.com 查询 MX 记录 dig baidu.com MX 使用指定 DNS 服务器(114.114.114.114) dig @114.114.114.114 baidu.com 显示简短结果 dig +short baidu.com
3. 使用host(Linux / macOS,部分系统自带)
host baidu.com host -a baidu.com # 显示所有记录 host -t mx baidu.com
- 浏览器访问 [DNSPod](https://tools.dnspod.cn/dns/)、[Google Admin Toolbox](https://toolbox.googleapps.com/apps/dig/) 等,输入域名即可查询。
二、查看本机当前使用的 DNS 服务器地址
命令提示符:
ipconfig /all | findstr "DNS Servers"
或
nslookup localhost # 第一行会显示默认 DNS 服务器
图形界面:
设置 → 网络和 Internet → 状态 → 属性(双击连接) → 找到“IPv4 DNS 服务器”。
查看当前网络服务的 DNS scutil --dns | grep 'nameserver\[' 或使用 networksetup networksetup -getdnsservers Wi-Fi # 把 Wi-Fi 换成实际服务名
通过systemd-resolved(常见于 Ubuntu/Debian)
systemd-resolve --status | grep "DNS Servers"
或
resolvectl status | grep "DNS Servers"
查看/etc/resolv.conf
cat /etc/resolv.conf # 显示 nameserver 行
(注意:此文件可能被 NetworkManager 或 systemd-resolved 动态管理)
使用nmcli(NetworkManager)
nmcli device show <interface> | grep DNS
三、编程方式读取 DNS(Python 示例)
import socket
dns_servers = socket.getaddrinfo("localhost", 53) # 不一定总能获取更可靠的方法需要依赖第三方库,例如dnspython 或读取系统配置文件。
2. 查询域名解析(使用dnspython)
先安装:pip install dnspython
import dns.resolver
查询 A 记录
answers = dns.resolver.resolve('example.com', 'A')
for rdata in answers:
print(rdata.address)
查询 MX 记录
answers = dns.resolver.resolve('example.com', 'MX')
for rdata in answers:
print(rdata.preference, rdata.exchange)| 需求场景 | 推荐命令/工具 |
| 快速查域名 IP | nslookup 或dig |
| 详细 DNS 记录分析 | dig(最强大) |
| 看本机正在用的 DNS 服务器 | ipconfig /all(Win) /scutil --dns(Mac) |
| 跨平台编程查询 | Python +dnspython 库 |
如果遇到查询结果异常(比如和预期不一致),可以尝试多次查询或使用不同的 DNS 服务器(如8.8.8.8 或114.114.114.114)对比,你具体是想查域名的 IP,还是想改本机 DNS?如果还有进一步需求,可以告诉我,我会帮你细化解答。
文章摘自:https://idc.huochengrm.cn/dns/25444.html
评论