收集DNS信息是网络管理、故障排查和安全分析中的常见需求,方法取决于你的目的(是看自己用什么DNS、还是分析网络流量中的DNS请求)。
以下按使用场景分类,介绍几种主流收集方法:
1. 查看本机或本地网络的DNS配置(最基础)
这是最直接的收集方式,查看电脑/手机/路由器当前正在使用的DNS服务器地址。
Windows:
ipconfig /all | findstr "DNS"macOS / Linux:
# 查看系统配置的DNS
cat /etc/resolv.conf
# 或使用网络诊断工具(macOS)
scutil --dns路由器:登录路由器后台(通常是192.168.1.1或192.168.0.1),在WAN口或DHCP设置中查看。
2. 抓取网络中的DNS查询/响应流量(用于分析)
如果你需要收集的是局域网内设备“正在查询什么域名”或“收到了什么DNS应答”,需要使用抓包工具。
使用 tcpdump(Linux/macOS):
# 监听 eth0 网卡的53端口(DNS默认端口),并保存到文件
sudo tcpdump -i eth0 port 53 -w dns_traffic.pcap 之后可以用Wireshark打开.pcap文件进行分析,或直接用tcpdump -r查看。
使用 Wireshark(全平台图形化):
1. 选择网卡开始抓包。
2. 在过滤器输入:dns 或udp.port == 53。
3. 停止抓包后,可以查看每个请求的来源IP、查询的域名(Queries)和响应IP(Answers)。
使用 nslookup 或 dig(主动查询某个域名):
这不算“收集”,但可用于确认特定域名的解析结果。
# 查询域名的A记录
nslookup example.com
dig example.com
# 指定从某个DNS服务器查询(如谷歌的8.8.8.8)
dig @8.8.8.8 example.com3. 被动收集DNS记录(用于渗透测试或资产发现)
在安全研究或网络资产侦查中,需要收集某个目标域名(或整个域)的所有子域名和DNS记录。
DNS枚举(使用专业工具):
dnsenum:通过字典爆破、谷歌抓取等方式收集子域名。
dnsenum example.comdnsrecon:功能更全,支持多种记录类型(A、AAAA、MX、NS、TXT等)和区域传输尝试。
dnsrecon -d example.com -t stdfierce:经典的DNS爆破工具。
利用区域传输(Zone Transfer):
如果目标DNS服务器配置不当,未限制区域传输,可以直接抓走整个域的所有DNS记录。这种方法只应用于你拥有授权的目标。
# 先查找域名服务器
nslookup -type=NS example.com
# 尝试向该NS服务器发起区域传输
dig @目标NS服务器 example.com axfr使用在线被动DNS数据库:
SecurityTrails
Censys / Shodan
VirusTotal
这些服务会记录历史上某个域名解析过的IP、子域名等信息,无需主动扫描目标。
操作系统会缓存最近解析的DNS记录,这可以告诉你“这台电脑最近访问了哪些网站”。
Windows:
ipconfig /displaydns 可以重定向到文件:ipconfig /displaydns > dns_cache.txt
macOS:OS X 10.10.4之后,macOS默认清除了查看缓存的命令行工具,通常需要第三方工具或查看系统日志。
Linux:缓存取决于服务(如 systemd-resolved, dnsmasq等)。
# 如果使用 systemd-resolved
resolvectl statistics
# 查看完整缓存(可能需要 root)
journalctl -u systemd-resolved | grep -i "cache hit"1、授权:抓取局域网内他人的DNS流量(如用Wireshark抓取同事/家人的设备)或尝试区域传输别人的域名,必须获得明确授权,否则可能违反法律(如《网络安全法》或《计算机信息系统安全保护条例》)。
2、隐私:DNS请求中包含用户访问的每一个网站,属于敏感个人信息,收集时需遵守数据隐私法规(如中国的《个人信息保护法》、欧盟的GDPR)。
3、仅限自用:建议先在自己控制的设备或授权的测试网络中进行,线上服务(如SecurityTrails)的API通常需要注册或付费,请遵守其服务条款。
只看自己用哪个DNS →ipconfig /all 或路由器管理页面。
抓网络中的DNS包 →tcpdump port 53 或 Wireshark。
查某个域名的所有子域名 →dnsenum 或dnsrecon(合法授权前提下)。
看电脑历史DNS记录 →ipconfig /displaydns。
文章摘自:https://idc.huochengrm.cn/dns/25940.html
评论
郸伟才
回复收集DNS信息有多种方法,包括查看本机配置、抓取网络流量、被动收集DNS记录等,合法性和隐私保护是关键,需遵守相关法律法规。
阎夏山
回复收集DNS信息有多种方法,包括查看本机DNS配置、抓取网络DNS流量、被动收集DNS记录和查看历史DNS缓存,但需注意合法性和隐私问题,确保在合法授权下进行。