前言
在某些公用网络环境中,你可能会面临网络安全泄露的风险。本文使用Wireshark来分析你的设备是否存在被监听的风险。
这里以移动设备为例,实际上其余设备均可用此方法分析。你需要有无线网卡的计算机以用于为其他设备提供网络连接。
准备工作
你需要:
- 一台计算机(带有无线网卡)
- Wireshark
- 其余需要分析的设备
分析
筛选目标设备
1. 首先,将你需要分析的设备连接至你的电脑热点
2. 在你的设备上检查其分配到的IP地址
3. 在你的计算机中,使用cmd输入`ipconfig`以查看所有网卡的信息
4. 找到其中有你所需分析设备的网卡。
5. 在Wireshark中选择此网卡监听。
例如,我的设备IP为`192.168.137.199`,通过ipconfig发现其被`无线局域网适配器 本地连接* 2`管理,那么就应该在Wireshark中选择`本地连接* 2`。
检查DNS是否加密
通常情况下,你的DNS未经加密,由明文直接使用udp协议传输,这会带来巨大的安全隐患。你可以在Wireshark中,筛选并查看这些未经加密的流量。
使用你的设备访问一定数量的资源(就是正常上网)后,在你的Wireshark中以以下格式筛选:
ip.addr == [目标设备IP] && udp.port == 53
如发现类似上图的数据,说明你的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-system
检查SNI泄露
SNI(Server Name Indication,服务器名称指示)是TLS(传输层安全协议)扩展的一部分。它的作用是在TLS握手时,客户端告诉服务器它想访问的具体域名。
很遗憾,即使DNS加密,在未使用代理的情况下,你所访问的资源域名仍可被监测。
你可以在Wireshark中以以下方式筛选所有Client Hello包,查看其泄露情况。
ip.addr == [目标设备IP] && tls.handshake.type == 1 && tcp
如上图所示,如果你发现了任何你不想让其他人看到的域名,说明你的代理分流工作未到位,设置此域名走代理即可。
MITM
常用的网络监听应该就是以上两种方式,不过也不排除有些极端环境可能会MITM,虽然99%是用不上的。
MITM的特点是需要伪造证书,没什么很好的检查方式,你只需要想想自己有没有安装什么校园网专用的上网软件,这些软件有没有给你装什么奇怪的证书什么的,不过你也可以通过查看Server端发过来的证书的Issuer来确认正式是否由知名CA签署。
ip.dst == [目标设备IP] && tls.handshake.certificates
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com