1 DNS 污染
DNS 污染(DNS Cache Pollution)是一种网络攻击或干扰手段,它利用了 DNS 协议在验证返回信息时不够严密的漏洞。
简单来说,你(客户端)想要访问某个网站域名并向服务器查询其 IP 地址时,攻击者会抢在真实的 DNS 服务器响应之前,给你的电脑发送一个错误的 IP 地址。由于 DNS 遵循“先到先得”的原则,你的电脑会信以为真,将这个错误地址存入缓存并尝试连接,导致你最终无法打开网页,或者被误导进入了一个完全无关甚至带有风险的虚假网站。
工作原理
在正常的 DNS 查询中,递归服务器会逐级询问,直到获得正确的 IP 地址。但在被污染的环境,会发生以下过程:
- 发起请求:你在浏览器输入网址(如 baidu.com)。
- 被拦截:你的请求在经过某一节点时被监听并可能拦截。
- 被干扰:发起攻击的节点伪装成 DNS 服务器,瞬间返回一个伪造的响应包。
- 收到错误回复:你的电脑接收了第一个到达的(错误的)响应包,丢弃或收不到随后到达的真实响应包。
2 封锁IP地址
与DNS污染一样也是网络管理中基础的过滤手段,它直接作用于网络层(OSI 第三层)。防火墙或路由器会维护一张黑名单,当检测到数据包的源地址或目的地址属于黑名单时,设备会直接丢弃该数据包或拒绝连接请求。使其无法与外界建立任何通信。
主要形式
- 入站封锁:阻止从外部向内部方向的请求。
- 出站封锁:阻止由内向外方向的请求。
- 路由黑洞:将请求引至不存在的端口,减少计算量。
3 关键词过滤
这种方法已经基本过时,在十几年前大部分网站使用HTTP(明文)连接,流量没有被加密,你在网上的任何操作包括发表的评论与密码可能会被某一中间节点获取审查并拦截,甚至可以修改发表的评论。但目前的网站基本都使用了HTTPS,数据会被加密传输因此无法进行具体的审查,只能检查SNI或证书。
4 SNI 检测
在早期,一个 IP 地址通常只对应一个网站。但随着云服务和虚拟主机的普及,一个 IP 地址可能承载着成千上万个不同的网站。因此出现 SNI 允许浏览器在 TLS 握手的第一步(Client Hello 包)中,就明文告诉服务器:“我访问的是 xxx.com”。
所以SNI是明文传输的,如果检测到该域名在黑名单中,就可以直接断开连接。
5 DPI 深度包检测
传统检测手段一般看IP或端口,而DPI检测可以查看具体的流量行为特征。虽然前面说过HTTPS流量是加密的,但是仍然可以通过大数据来区分不同的行为。
比如视频与聊天的流量特征就不同,通过DPI可以得知你在刷抖音,还是在抖音里点赞。总之,即使是加密流量,也可以通过包的大小、发送频率、间隔时间等统计学特征,推断出流量的类型。
书于二〇二六年五月四日