DNS劫持?
本文最后更新于 2026-07-23,文章内容可能已经过时。
前言:网络出了"鬼"
今天下午,闲来无事,日常打开电脑准备玩两把游戏。然而,当我打开 WeGame 准备大干一番时,注意到网络出现了一点"异样"——

我自己家的 WiFi,为什么弹出了"需要进行网络认证"的提示?一瞬间我立马警觉起来。第一反应:电脑中病毒了。但查看任务管理器进程和系统服务,似乎没看到任何可疑的东西。
没办法,只能请"宗门老祖下山"了——没错,360 安全卫士。


全盘扫描、木马查杀、系统修复,一键三连下来,360 告诉我:你的电脑很健康,没有任何问题。但问题明明还在。还是要求我打开浏览器并连接,没办法只能点开试试,再说了,现在“360老祖”请下山了,什么妖魔鬼怪不能斗斗?
点开后,果不其然“HDD”的广告,但是既然“360老祖”说电脑没问题,那应该就是网络的问题了,初步猜想:“DNS劫持”

排查:
为了验证我的猜想,我更换了一台电脑,连接了网络,好家伙,甚至不用打开浏览器,系统直接自动弹出了 "HDD" 广告页面。
到这一步,结论已经呼之欲出了:一台电脑出问题可能是病毒,两台电脑出同样的问题,那只能是网络本身被劫持了。而家用网络中流量的第一跳就是路由器——路由器的 DNS 被篡改了。
修复:
这种劫持的原理很简单:攻击者篡改了路由器的 DNS 服务器地址,把你所有的网页请求先导流到他们的广告页面,从中赚取流量费或进行诈骗钓鱼等,为了我们的身心和财产安全,这个问题要尽早解决,解决方法也很简单,就像把大象装进冰箱需要几步一样简单
第一步:修改 DNS
点击开始按钮,搜索控制面板,打开控制面板后,点击“网络和Internet”

再点击网络和共享中心,再点击“更改适配器设置”

然后再打开的“网络连接”管理界面找到连接你家WiFi名字的哪一个网络适配器(网卡)

右键选择“属性”,向下滑动找到“Internet协议版本4(TCP/IPv4)”

看到最下方,默认是“自动获得DNS服务器地址”,我们改为下方的“使用下面的DNS服务器地址”然后分别改为:
阿里云DNS:
223.5.5.5
223.6.6.6
或腾讯DNSPod:
119.29.29.29
182.254.116.116
最后一路点击确认即可,这样我们的DNS就修改完成了
第二步:修改本地域名解析
我们需要找到一个名叫hosts 的文件

这是Windows系统中一个极其重要但非常小巧的文本文件。它的核心功能是进行本地的域名解析。用一个形象的比喻:它就像是您电脑里的私人电话簿。
我们点击开始,再搜索记事本,在傍边点击以管理员的身份运行

打开记事本后,点击左上方的“文件”--->“打开”

打开上方地址栏输入:
C:\Windows\System32\drivers\etc\第一次打开你可能回车后说明都看不到,需要点击右下角修改一下,将原本的txt改为"所有文件(.)",然后再点击hosts文件,

打开后你再文件的最后可能会看到很多的IP地址或者网址,这个时候不要着急,最简单的办法就是其他的都删了,只保留后缀是“localhost”的,例如这种(举例这个模板就是Windows的“出厂默认”HOSTS文件)
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost直接复制粘贴我这个的好处就是快,坏处就是丢失内网访问、广告屏蔽等自定义功能。
第三步:清除缓存,双重保险
HOSTS文件优先级高于DNS缓存,修改HOSTS后理论上不需要刷新DNS,但执行刷新可以确保万无一失,避免浏览器或系统“死脑筋”记住旧记录。
再开始处搜索cmd,点击使用管理员身份运行
然后将这个命令复制粘贴上去
ipconfig /flushdns
然后关闭网络,关机重启即可

写在最后
DNS 劫持这玩意儿,不动你的文件、不占你的 CPU、也不弹窗报毒,杀毒软件扫不到太正常了。但它的危害一点也不小——你在浏览器里输入的每一个网址,都可能被劫持者捕获。
排查这类问题,"换一台电脑试试"是最简单也最有效的排除法。本机查不出来,就往网络层排查。改 DNS → 修改本地域名解析 → 最后再清理一下缓存 ,三步下来基本能解决 99% 的家用 DNS 劫持问题。
当然解决完DNS,还有一个问题,“请神简单,送神难啊”

- 感谢你赐予我前进的力量

