实用指南站
霓虹主题四 · 更硬核的阅读氛围

DNS查询抓包怎么看?手把手教你排查网络问题

发布时间:2025-12-17 20:51:12 阅读:289 次

在办公室上网时,突然打不开网页,但Wi-Fi又连着,这时候很多人第一反应是重启路由器。其实,问题可能出在DNS上。通过抓分析DNS查询过程,能快速定位是不是域名解析出了问题。

为什么要抓DNS包?

比如你输入 www.baidu.com 打不开,但用手机热点却能访问,说明不是网站的问题。这时候抓个包,看看电脑有没有发出DNS请求,或者服务器回没回应,就能判断是本地配置、网络中间设备还是运营商的问题。

用什么工具抓包?

最常用的工具是Wireshark,免费、跨平台,适合办公环境使用。安装后打开,选择当前上网的网卡(一般是Wi-Fi或以太网),点开始捕获。

怎么过滤DNS流量?

刚抓的包可能一大堆,全是数据混在一起。在过滤栏输入:

dns

回车后就只显示DNS相关的通信了。你会看到类似这样的记录:

  • Query: A www.baidu.com —— 这是你电脑问“百度IP是多少”
  • Response: 202.108.22.5 —— 这是DNS服务器回复的IP

怎么看有没有异常?

如果只有Query没有Response,大概率是DNS请求被拦截或丢包了。常见于公司防火墙限制、恶意软件劫持,或者用了不稳定的公共DNS。

再看响应内容,如果返回的IP明显不对(比如一个国内网站返回国外IP),可能是DNS污染。这时候换用可靠的DNS服务,比如114.114.114.114 或 223.5.5.5,再试一次。

实际例子:内网系统打不开

同事说OA系统 oa.company.local 打不开。你抓包发现根本没发DNS请求——说明程序没走网络,可能是浏览器缓存了错误记录,或者host文件被改过。

清缓存还不行?继续抓包,发现请求发给了192.168.1.1(公司路由器),但没收到回复。联系IT发现内部DNS服务器挂了,这就定位到了问题根源。

小技巧:命令行也能简单抓包

不想装Wireshark?Windows自带nslookup可以快速查DNS响应:

nslookup www.baidu.com

Linux和Mac可以用dig:

dig www.baidu.com

这些命令能直接告诉你解析结果和用的是哪个DNS服务器,配合抓包更高效。

遇到网络问题别急着重启,先抓个DNS包看看。多练几次,几分钟就能判断问题出在哪一层,比瞎猜强多了。