您的位置: 新闻资讯 > 行业动态 > 正文

Wireshark分析DNS攻击实战|4大类DNS攻击抓包识别、过滤语句与排查思路(图文)


来源:mozhe 2026-10-15

前言

DNS是互联网域名解析基础,默认使用UDP 53端口,也是黑客最常利用的攻击入口。DNS隧道、DNS放大DDoS、DNS欺骗、DGA恶意域名查询,很多攻击都藏在DNS流量里面。
运维、安全蓝队排查安全事件时,Wireshark是分析DNS攻击流量最实用工具。拿到cap抓包文件,通过过滤、查看报文特征,快速识别DNS类攻击。本文一次性梳理4种高频DNS攻击,附带Wireshark过滤语句、流量特征、识别要点。

一、基础:Wireshark DNS通用过滤命令

打开抓包文件,在显示过滤器输入下面指令,快速筛选DNS流量:

 
dns                 # 筛选全部DNS报文
udp.port == 53          # 筛选53端口DNS流量
dns.flags.response == 0   # 只看DNS查询包(请求)
dns.flags.response == 1   # 只看DNS应答包
dns.qry.name.len >50     # 查询域名长度大于50,疑似DNS隧道
dns.qry.type ==16       # 筛选TXT记录查询(DNS隧道常用)
dns.flags.rcode ==3     # NXDOMAIN,域名不存在,DGA恶意域名特征

二、四大DNS攻击Wireshark流量识别实战

1. DNS放大攻击(DNS Reflection DDoS)

原理:攻击者伪造受害者IP,向开放公网DNS递归服务器发送小体积ANY查询,DNS服务器返回超大应答包,小包换大包,放大流量打满目标带宽。
Wireshark抓包特征
  1. 大量DNS应答包(源端口53),响应包体积远大于请求包,放大倍数几十倍;
  2. 受害者只收到大量DNS响应,但本机没有发出对应的DNS查询请求;
  3. 大量ANY类型查询记录,报文分片多。
排查要点:统计报文长度,请求小、回复巨大,就是典型DNS放大攻击。

2. DNS隧道攻击(DNS Tunneling,数据外带)

原理:攻击者将文件、命令、敏感数据编码,放在子域名中,不断发起DNS查询,把数据带出内网,绕过防火墙。
Wireshark抓包特征
  1. 域名很长,子域名随机乱码(base32/base64编码);
  2. 高频、连续大量DNS查询,单主机短时间成千上万请求;
  3. 大量TXT记录查询;
  4. 域名层级很深,正常业务极少出现。
过滤语句:dns.qry.name.len >50
重点观察:子域名是否为无意义随机字符串。

3. DNS欺骗 / DNS缓存投毒

原理:攻击者伪造DNS应答包,在合法DNS服务器返回正确IP之前,抢先推送伪造A记录,让客户端访问钓鱼恶意IP。缓存投毒则污染DNS服务器缓存,同一服务器所有用户都会中招。
Wireshark抓包特征
  1. 同一个DNS查询ID,出现两条DNS应答包;
  2. 返回IP和真实域名解析IP不一致;
  3. 应答包TTL异常。
排查思路:对比两条应答包的Transaction ID,ID相同则是伪造应答。

4. DGA恶意域名查询(木马C2通信)

原理:恶意程序使用算法批量生成大量随机域名,不断DNS查询,尝试连接黑客C2服务器。
Wireshark抓包特征
  1. 大量NXDOMAIN(rcode=3,域名不存在);
  2. 大量随机、无意义域名,域名无规律;
  3. 内网单台主机持续高频发起DNS请求。
过滤语句:dns.flags.rcode ==3

三、Wireshark快速分析流程(安全事件排查标准步骤)

  1. 导入cap包,输入dns过滤,单独提取DNS流量;
  2. 统计会话:统计→DNS,查看哪个内网IP查询量异常飙升;
  3. 筛选长域名、TXT记录、NXDOMAIN,初步定位可疑主机;
  4. 查看报文详情,区分是DNS隧道、放大攻击还是DGA;
  5. 导出可疑DNS报文,留存取证。
导出方法:选中可疑报文 → 文件 → 指定分组保存,单独保存恶意流量用于溯源。

四、防御建议

  • 边界防火墙限制UDP53出站,禁止内网主机直接访问公网DNS;
  • 部署内网递归DNS,开启DNSSEC,防御DNS欺骗与缓存投毒;
  • 监控DNS流量基线,对超长域名、高频TXT查询、大量NXDOMAIN配置告警;
  • 公网DNS服务器关闭ANY查询,禁止开放递归,防范DNS放大攻击;
  • 部署流量清洗,抵御DNS放大DDoS。

五、常见踩坑

误区1:只要长域名就是DNS隧道
部分业务日志、CDN子域名本身较长,需要结合查询频率、随机熵综合判断,不能单一指标下定论。
误区2:所有NXDOMAIN都是木马
网络异常、域名过期也会出现NXDOMAIN,需要结合终端行为交叉验证。

总结

DNS攻击利用UDP 53端口隐蔽性强,很多防火墙不会严格审计DNS流量。Wireshark抓包分析核心就是观察域名长度、查询频率、报文大小、返回码,区分DNS放大、DNS隧道、DNS欺骗、DGA这四类攻击。
日常运维可以定期抓取出口DNS流量做威胁狩猎,提前发现木马通信、数据外带行为。
免责声明:本文仅用于网络安全学习、流量分析与防御研究,禁止在未授权环境下进行DNS攻击测试。

FAQ

Q:Wireshark怎么筛选DNS隧道流量?
A:使用过滤器dns.qry.name.len>50,再重点查看TXT类型DNS查询。
Q:DNS放大攻击抓包有什么特点?
A:收到大量DNS应答,但是本机没有发出查询,应答报文体积远大于请求包。
Q:如何在Wireshark统计单IP的DNS查询数量?
A:顶部菜单【统计】-【会话】,切换UDP,按数据包数量排序,找出异常IP。

关于墨者安全
墨者安全致力于安全防护、服务器高防、网络高防、ddos防护、cc防护、dns防护、防劫持、高防服务器、高防dns、网站防护等方面的服务,全网第一款指纹识别技术防火墙,自研的WAF指纹识别架构,提供任意CC和DDoS攻击防御

热门文章

X

7x24 小时

免费技术支持

15625276999


-->