如何收集DNS信息?

HCRM技术_小炮 DNS 2026-05-24 4 2

收集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. 在过滤器输入:dnsudp.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.com

3. 被动收集DNS记录(用于渗透测试或资产发现)

在安全研究或网络资产侦查中,需要收集某个目标域名(或整个域)的所有子域名和DNS记录。

DNS枚举(使用专业工具)

dnsenum:通过字典爆破、谷歌抓取等方式收集子域名。

        dnsenum example.com

dnsrecon:功能更全,支持多种记录类型(A、AAAA、MX、NS、TXT等)和区域传输尝试。

        dnsrecon -d example.com -t std

fierce:经典的DNS爆破工具。

利用区域传输(Zone Transfer)

如果目标DNS服务器配置不当,未限制区域传输,可以直接抓走整个域的所有DNS记录。这种方法只应用于你拥有授权的目标

    # 先查找域名服务器
    nslookup -type=NS example.com
    # 尝试向该NS服务器发起区域传输
    dig @目标NS服务器 example.com axfr

使用在线被动DNS数据库

SecurityTrails

Censys / Shodan

VirusTotal

这些服务会记录历史上某个域名解析过的IP、子域名等信息,无需主动扫描目标。

收集本机历史DNS缓存

操作系统会缓存最近解析的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通常需要注册或付费,请遵守其服务条款。

只看自己用哪个DNSipconfig /all 或路由器管理页面。

抓网络中的DNS包tcpdump port 53 或 Wireshark。

查某个域名的所有子域名dnsenumdnsrecon(合法授权前提下)。

看电脑历史DNS记录ipconfig /displaydns

文章摘自:https://idc.huochengrm.cn/dns/25940.html

评论

精彩评论
  • 2026-05-24 12:25:57

    收集DNS信息有多种方法,包括查看本机配置、抓取网络流量、被动收集DNS记录等,合法性和隐私保护是关键,需遵守相关法律法规。

  • 2026-05-24 21:30:39

    收集DNS信息有多种方法,包括查看本机DNS配置、抓取网络DNS流量、被动收集DNS记录和查看历史DNS缓存,但需注意合法性和隐私问题,确保在合法授权下进行。