帮助中心 >
  关于网络安全 >
  DNS劫持是怎么做到的?攻击者篡改解析记录的三种手段

DNS劫持是怎么做到的?攻击者篡改解析记录的三种手段

时间 : 2026-09-05 10:00:58
编辑 : DNS.COM

  DNS把域名翻译成IP地址,你可以把它想象成互联网的电话簿。DNS劫持的本质就是攻击者在这本“电话簿”上动手脚,让你拨出去的电话打到了骗子那里,而不是你想找的人那里。区别在于:你输入的网址没变,浏览器地址栏也显示正确,但实际访问的服务器已经换了。更隐蔽的是,页面看起来可能和真的一模一样。

  攻击者篡改DNS解析记录的手段虽然花样不少,但归根结底可以归为三个路径:劫持你本地的设备、劫持你的路由器、劫持DNS服务器本身。接下来逐一说清楚。

  第一种:本地设备劫持

  这是最直接也最容易理解的方式。攻击者的目标是你正在用的那台设备。

  核心手段:修改hosts文件

  每个操作系统里都有一个叫hosts的本地文件。它的优先级高于DNS服务器——也就是说,如果hosts文件里写了一条“www.example.com 对应 1.2.3.4”,系统就直接用这个结果,根本不会去问DNS服务器。

  攻击者通过恶意软件、钓鱼邮件或捆绑软件侵入你的电脑后,就会往hosts文件里塞几条“定向重定向规则”。比如把银行网站的域名指向一个假冒的IP地址。你每次输入网址,都会被带到钓鱼网站,而你自己完全不知道。

  hosts文件的路径:

  Windows:C:\Windows\System32\drivers\etc\hosts

  macOS/Linux:/etc/hosts

  如果你怀疑自己中招了,打开这个文件看看有没有来历不明的记录。正常来说,除了127.0.0.1 localhost这条,其他条目都应该有自己的理由。

  另一个方向:篡改系统DNS设置

  除了hosts文件,攻击者还可能直接修改你电脑的DNS服务器地址。在Windows的网络设置里,把DNS从“自动获取”改成攻击者指定的地址。这样一来,你的所有域名解析请求都会先经过攻击者的DNS服务器,想给你什么结果就给什么结果。

  典型特征:单个设备访问异常,但同一网络下的其他设备正常。如果你的电脑打不开某个网站,但手机连着同一个Wi-Fi却能打开,很可能就是本地被动了手脚。

  第二种:路由器DNS劫持

  如果说本地劫持是只影响一台设备,那路由器劫持就是一锅端——所有连着这个Wi-Fi的设备,手机、电脑、平板,一个都跑不掉。

  怎么做到的

  攻击者通常通过两种方式进入你的路由器:

  一是利用默认密码或弱密码。 很多用户从来没改过路由器的管理密码,admin/admin、admin/123456这种组合至今仍然是大量路由器的“标配”。攻击者扫描到你的路由器后,用默认密码一试就进去了。

  二是利用路由器固件的已知漏洞。 很多老旧路由器的管理界面存在未修复的安全漏洞,攻击者可以通过特定的HTTP请求直接修改配置,甚至不需要密码。

  一旦进入路由器后台,攻击者会把路由器的DNS服务器地址改成自己控制的服务器。而路由器在通过DHCP分配网络参数时,会把这个恶意DNS地址推送给所有连网的设备。你的手机、电脑、智能电视,全都会乖乖去问攻击者的DNS服务器该去哪。

  典型特征:整个家庭或公司网络下的所有设备同时出现访问异常。如果你发现手机、电脑、平板都打不开同一个正常网站,或者都被跳转到奇怪的页面,问题大概率出在路由器上。

  第三种:DNS服务器攻击——直接端掉整个DNS系统

  前两种手段攻击的是“终端用户侧”,而这一种攻击的是DNS解析本身的基础设施。影响范围最大,技术门槛也最高。

  手段A:DNS缓存投毒

  这是最经典的DNS服务器攻击方式。攻击者不直接控制DNS服务器,而是往DNS服务器的缓存里“注毒”——注入伪造的解析记录,让服务器记住一个错误的对应关系。

  技术原理是这样的:DNS查询使用UDP协议,早期设计时没有加密也没有身份验证机制。DNS服务器收到一个响应包后,会用16位的事务ID来匹配这个响应对应的是哪个查询。

  攻击者要做的是:在用户向DNS服务器发起查询的同时,向DNS服务器发送大量伪造的响应包,暴力猜那个16位的事务ID。一旦猜中,DNS服务器就会接受伪造的响应,把它存进缓存。之后,所有向这台DNS服务器查询同一域名的用户,都会拿到那个错误的IP地址。

  这个漏洞在今天仍然存在,虽然随机化技术提高了猜测难度,但没有加密的DNS查询仍然容易被中间人监听和篡改。

  手段B:权威DNS服务器被入侵

  如果攻击者的目标不是递归服务器,而是域名的权威DNS服务器——就是储存你域名最终解析记录的那个服务器。一旦攻入,攻击者可以直接修改域名的A记录或CNAME记录,把流量引向任何他想指向的地方。

  2010年百度那次大规模访问故障,就是攻击者入侵了百度在美国域名注册商的账户,修改了权威DNS服务器的指向,导致全球用户数小时内无法正常访问百度。

  手段C:中间人攻击(MITM)——在传输途中拦截

  攻击者在用户设备和DNS服务器之间的链路上“设卡”,拦截DNS查询请求,抢先返回一个伪造的DNS响应。

  为什么能抢在前面:合法的DNS响应要从权威服务器绕一圈才能回来,而伪造的响应可以直接在链路中间快速回包。如果攻击者比真服务器跑得快,用户就会先收到伪造的响应。

  典型场景:公共Wi-Fi热点、被入侵的运营商网络、不安全的局域网环境。在这些网络里,攻击者可以部署伪造的DNS服务器,拦截所有解析请求并返回恶意IP。

  攻击链条:三种手段如何配合使用

  这三种攻击手段不是孤立存在的。一个典型的攻击链条可能是这样的:

  攻击者先通过路由器劫持(手段二)修改了公司网络的DNS设置,让所有员工上网时都被指向攻击者控制的DNS服务器。这台恶意DNS服务器对大部分域名正常解析,但对特定银行的域名返回缓存投毒(手段三)伪造的钓鱼网站IP。员工访问银行网站时,看到的是钓鱼页面,输入账号密码后信息被窃取。

  为了掩人耳目,攻击者还可能通过本地设备劫持(手段一)在个别高价值员工的电脑上再补一刀,确保就算路由器的设置被发现了,这些目标设备仍然被控制。

  如何判断自己是否中招了?

  检查hosts文件:打开hosts文件,看有没有不认识的域名映射记录。

  检查设备DNS设置:在系统网络设置里看DNS服务器地址,如果出现你不认识的IP,说明被改了。

  检查路由器DNS设置:登录路由器后台,查看WAN口或DHCP设置中的DNS地址,确认是不是你熟悉的(比如114.114.114.114、8.8.8.8)。

  对比多设备访问情况:同一网站,手机能打开但电脑打不开,问题在设备端;所有设备都打不开或跳转异常,问题在网络端或DNS服务器端。

  SSL证书提示异常:访问敏感网站时,如果浏览器提示证书无效或不受信任,有可能是被劫持到了钓鱼站点。

  DNS劫持的核心逻辑就一句话:骗过你的“电话簿”,让你自己走到陷阱里去。攻击者不一定要攻破你的网站、不一定要窃取你的密码,只需要让你“走错门”就够了。

  三种手段层层递进:本地劫持影响单台设备,路由器劫持影响整个网络,DNS服务器攻击影响大规模用户。了解这些手段不是为了恐惧,而是为了知道该从哪里防起——改掉路由器的默认密码、留意hosts文件有没有陌生人入住、敏感操作前看一眼地址栏旁边的锁头标志,这些都是成本极低、收益极高的日常习惯。

DNS Anna
DNS Amy
DNS NOC
标题
电子邮件地址
类型
信息
验证码
提交