Wireshark 基础抓包:确认本地设备流量是否走过 TUN 网卡
#Wireshark抓包#TUN网卡#流量诊断
阅读需 4 分钟||
当遇到部分应用无法翻墙、或者怀疑存在 DNS 泄漏 时,最直接有效的方法是截获系统底层的数据包。借助 Wireshark 工具,我们可以用数据验证代理客户端的 TUN 接管是否真正生效。
1. 抓包前的网络网卡认知
在开启了 Clash TUN 或 sing-box TUN 模式 的电脑上,系统中至少存在两张关键网卡:
- 物理网卡:如
WLAN或Ethernet,直接连接家中路由器,流量在此处通常已经被加密打包。 - 虚拟网卡:如
utun(macOS) 或Clash虚拟适配器 (Windows),它用于拦截并接收来自应用层最初的明文网络请求。
2. 验证流量是否被接管的实操
- 打开 Wireshark,在网卡列表中选择您的 物理网卡 进行监听。
- 设置显示过滤器 (Display Filter) 为:
ip.addr == 你的代理服务器IP。 - 打开浏览器访问一个受限网站,如果在物理网卡上抓取到了源源不断发往代理 IP 的 TCP 包,证明出站链路是通的。
- 反向验证绕过问题:停止抓包,清空过滤器。设置过滤器为:
tls.handshake.extensions_server_name contains "youtube.com"。如果您在物理网卡上看到了包含目标域名的明文握手请求,这就证明该请求绕过了您的 TUN 虚拟网卡,发生了严重泄漏! 正常情况下,应用层的明文请求应当只能在虚拟网卡上抓到;一旦上了物理网卡,它必须是与代理节点通信的加密流量。
3. 分析 DNS 泄漏轨迹
很多应用底层硬编码了如 8.8.8.8 的请求。通过在 Wireshark 监听虚拟网卡并过滤 udp.port == 53,可以清楚看到是谁发出了查询。若这些查询没有命中代理的 DNS 劫持规则而直接泄漏至外网,您就能精准定位并修正代理分流配置文件。