LOADING...
一篇使用 Wireshark 对移动设备进行网络安全与隐私泄露风险排查的实操教程。文章详细介绍了如何通过电脑热点搭建抓包环境,重点分析了 DNS 明文传输、SNI 域名泄露以及潜在的中间人攻击(MITM)风险,并针对检测出的问题提供了配置 DoT/DoH 加密及优化代理分流的建议。
在某些公用网络环境中,你可能会面临网络安全泄露的风险。本文使用Wireshark来分析你的设备是否存在被监听的风险。
这里以移动设备为例,实际上其余设备均可用此方法分析。你需要有无线网卡的计算机以用于为其他设备提供网络连接。
你需要:
ipconfig以查看所有网卡的信息例如,我的设备IP为192.168.137.199,通过ipconfig发现其被无线局域网适配器 本地连接* 2管理,那么就应该在Wireshark中选择本地连接* 2。
image.png
image.png
通常情况下,你的DNS未经加密,由明文直接使用udp协议传输,这会带来巨大的安全隐患。你可以在Wireshark中,筛选并查看这些未经加密的流量。
使用你的设备访问一定数量的资源后,在你的Wireshark中以以下格式筛选:
ip.addr == [目标设备IP] && udp.port == 53image.png
如发现类似上图的数据,说明你的DNS未经加密,可能存在泄露隐私的风险。你可以使用DoT/DoH来加密。例如,在Quantumult X的DNS配置中这样设置:
[dns]
prefer-doh3
doh-server = https://223.5.5.5/dns-query, https://223.6.6.6/dns-query,https://1.12.12.12/dns-query,https://8.8.8.8/dns-query,https://208.67.222.222/dns-query,https://208.67.220.220/dns-query,https://208.67.222.123/dns-query
no-systemSNI(Server Name Indication,服务器名称指示)是TLS(传输层安全协议)扩展的一部分。它的作用是在TLS握手时,客户端告诉服务器它想访问的具体域名。
很遗憾,即使DNS加密,在未使用代理的情况下,你所访问的资源域名仍可被监测。
你可以在Wireshark中以以下方式筛选所有Client Hello包,查看其泄露情况。
ip.addr == [目标设备IP] && tls.handshake.type == 1 && tcpimage.png
如上图所示,如果你发现了任何你不想让其他人看到的域名,说明你的代理分流工作未到位,设置此域名走代理即可。
常用的网络监听应该就是以上两种方式,不过也不排除有些极端环境可能会MITM,虽然99%是用不上的。
MITM的特点是需要伪造证书,没什么很好的检查方式,不过你也可以通过查看Server端发过来的证书的Issuer来确认正式是否由知名CA签署。
ip.dst == [目标设备IP] && tls.handshake.certificates图片
评论