分类: 网络安全

  • 🔒 禁用WebRTC防止IP泄漏

    什么是WebRTC泄漏?

    WebRTC(Web Real-Time Communication)是浏览器的实时通信功能,但它会:
    – 绕过代理直接获取你的真实局域网IP
    – 绕过VPN获取你的公网IP
    – 将这些IP发送给网站(如Cloudflare验证)


    ✅ 各浏览器禁用方法

    Firefox(推荐使用)

    方法1: 通过about:config

    1. 地址栏输入:about:config
    2. 搜索:media.peerconnection.enabled
    3. 双击将其设置为 false

    方法2: 安装扩展

    安装 Disable WebRTC 扩展(需先安装Firefox)


    Chrome/Edge/Brave

    通过扩展禁用(Android不支持扩展,需使用Kiwi Browser)

    1. 安装 Kiwi Browser(支持Chrome扩展的安卓浏览器)
    2. 安装扩展:WebRTC Leak Prevent
    3. 配置模式为 “Disable non-proxied UDP”

    系统自带浏览器

    OPPO/ColorOS自带浏览器无法禁用WebRTC。

    建议:完全不使用系统浏览器,改用:
    – Firefox(最佳隐私)
    – Brave(内置广告拦截)
    – Kiwi Browser(支持扩展)


    🧪 测试WebRTC泄漏

    访问以下网站检测:

    https://browserleaks.com/webrtc
    

    安全结果:
    – 应该看不到你的真实IP
    – 或只显示代理服务器的IP

    不安全结果:
    – 显示 192.168.x.x(局域网IP)
    – 显示运营商公网IP


    📱 推荐浏览器对比

    浏览器 隐私保护 WebRTC控制 扩展支持 推荐度
    Firefox ⭐⭐⭐⭐⭐ 可完全禁用 有限 ⭐⭐⭐⭐⭐
    Brave ⭐⭐⭐⭐ 可禁用 无 ⭐⭐⭐⭐
    Kiwi ⭐⭐⭐ 通过扩展 ✅ 完整 ⭐⭐⭐⭐
    Bromite ⭐⭐⭐⭐ 可禁用 无 ⭐⭐⭐
    Chrome ⭐⭐ 无法控制 无 ⭐⭐
    OPPO浏览器 ⭐ 无法控制 无 ❌

    🛠️ 安装推荐浏览器

    通过ADB安装Firefox

    # 1. 下载Firefox APK
    wget https://download.mozilla.org/?product=firefox-android-release-latest
    
    # 2. 安装到系统分身
    adb install -r firefox-*.apk
    

    或使用F-Droid安装

    # F-Droid中搜索并安装:
    - Firefox
    - Fennec (Firefox的F-Droid版本)
    - Mull (强化隐私版Firefox)
    

    更新日期: 2026-02-12

  • 🌐 私有DNS配置指南

    为什么需要配置DNS?

    WiFi手动代理不会代理DNS查询,导致:
    – ISP可以看到你访问的所有域名
    – DNS污染导致某些网站无法访问
    – IP地理位置泄漏


    ✅ 推荐的加密DNS服务

    选项1: NextDNS(推荐,可自定义)

    优势:
    – 支持广告过滤
    – 可屏蔽国产ROM遥测域名
    – 提供查询日志

    配置:
    1. 访问 https://nextdns.io 注册账户
    2. 获取你的专属DNS地址:abc123.dns.nextdns.io
    3. 在手机中填入该地址

    自定义黑名单(可选):

    # 在NextDNS控制台添加以下域名到黑名单
    *.nearme.com.cn          # OPPO统计
    *.heytap.com             # OPPO云服务
    *.oppo.com               # OPPO官方
    *.coloros.com            # ColorOS
    *.qtapi.com              # 快传
    *.umeng.com              # 友盟统计
    *.cnzz.com               # CNZZ统计
    

    选项2: AdGuard DNS(广告过滤)

    默认版本: dns.adguard-dns.com
    无过滤版本: unfiltered.adguard-dns.com
    

    选项3: Cloudflare DNS(速度快)

    1dot1dot1dot1.cloudflare-dns.com
    

    ⚠️ 注意:Cloudflare在中国大陆速度可能较慢


    选项4: Google DNS

    dns.google
    

    📱 配置步骤

    ColorOS 15配置路径

    设置 → 连接与共享 → 私有DNS
    → 私有DNS提供商主机名
    → 填入上述地址
    → 保存
    

    ✅ 验证DNS是否生效

    方法1: 在线测试

    手机浏览器访问:

    https://www.dnsleaktest.com/
    

    期望结果:
    – 显示的DNS服务器应该是你配置的(如AdGuard、NextDNS)
    – 不应该显示中国电信/联通/移动的DNS

    方法2: ADB验证

    # 查看当前私有DNS配置
    adb shell settings get global private_dns_mode
    adb shell settings get global private_dns_specifier
    
    # 应输出:
    # hostname
    # dns.adguard-dns.com (或你配置的其他DNS)
    

    🔄 配置组合建议

    场景1: 日常隐私保护

    WiFi代理: 192.168.1.138:7890
    私有DNS: dns.adguard-dns.com
    

    场景2: 开发调试(最大隐私)

    ADB全局代理: 192.168.1.138:7890
    私有DNS: <你的NextDNS配置>
    WebRTC: 浏览器中禁用
    

    场景3: 最高安全等级

    使用VPN客户端(而非HTTP代理)
    私有DNS: 通过VPN隧道
    系统分身 + 最小权限
    

    🚫 常见问题

    Q: 配置DNS后网速变慢?

    A: 尝试切换到Cloudflare DNS或使用国内的加密DNS(如阿里DNS: dns.alidns.com,但隐私保护较弱)

    Q: 某些应用无法联网?

    A: 部分国产应用硬编码使用特定DNS,私有DNS会导致其无法连接。这是预期行为(说明拦截成功)。

    Q: 私有DNS可以完全替代VPN吗?

    A: 不可以。私有DNS只加密DNS查询,HTTP流量仍然明文传输。需配合WiFi代理或VPN使用。


    更新日期: 2026-02-12

  • 移动网络安全

    1. 移动网络协议栈基础

    1.1 蜂窝数据网络

    手机通过 SIM 卡接入运营商基站,经核心网建立 PDN(Packet Data Network)连接获取 IP 地址。与 PC 宽带上网的关键差异:

    • CGNAT(运营商级 NAT):大多数移动用户共享公网 IP,运营商在 NAT 网关上可审计全部流量
    • 运营商深度审计:流量经过运营商核心网,DPI(深度包检测)设备可识别协议特征
    • 基站定位:即使关闭 GPS,运营商可通过基站三角定位获取物理位置

    1.2 WiFi 网络

    WiFi 网络行为与 PC 基本一致,但国产 ROM 会额外上报:
    – 已连接的 SSID 和 BSSID(路由器 MAC 地址)
    – 附近 WiFi 热点扫描结果(用于 WiFi 定位)
    – 这些数据被用于构建位置指纹数据库

    1.3 其他无线接口

    • 蓝牙:MAC 地址可被动扫描追踪,BLE 广播帧包含设备标识信息
    • NFC:近场支付过程中交换的设备和账户标识有泄露风险

    建议:不用时关闭蓝牙和 NFC,减少被动追踪面。

    2. 代理 vs VPN — 工作原理与关键区别

    2.1 应用层代理协议(Shadowsocks / VMess / VLESS / Trojan / Hysteria2)

    • 工作在 OSI 第 7 层(应用层),不创建系统级 tun 虚拟网卡
    • Android 上通过 VpnService API 实现”全局代理”:创建 tun 设备捕获所有流量,再在用户态通过代理协议转发。底层仍是应用层协议,但效果等同于全局接管
    • 优势:流量特征可伪装为普通 HTTPS,抗审查能力强
    • 劣势:依赖客户端正确实现,部分场景存在 DNS 泄漏风险

    2.2 VPN 协议(WireGuard / OpenVPN / IPSec)

    • 工作在 OSI 第 3 层(网络层),创建 tun 虚拟网卡,修改系统路由表
    • 所有流量默认经过 VPN 隧道,包括 DNS 查询
    • 优势:系统级全局保护,无泄漏盲点
    • 劣势:协议特征明显,容易被 DPI 识别和封锁

    2.3 手机 vs PC 代理对比

    维度 PC 端 手机端
    系统代理 HTTP_PROXY 环境变量或系统设置 WiFi 手动代理(仅 HTTP/HTTPS)
    全局透明代理 Clash TUN 模式 / iptables VpnService API(v2rayNG 等)
    DNS 处理 随代理客户端配置 WiFi 手动代理 不代理 DNS
    应用遵循代理 大多遵循系统设置 部分系统应用绕过 VpnService

    关键差异:手机 WiFi 手动代理只代理 HTTP/HTTPS 流量,DNS 查询仍走运营商/WiFi 默认 DNS。必须额外配置私有 DNS 才能防止 DNS 泄漏。

    3. 位置信息与 IP 地址

    IP 地址仅反映出口节点的地理位置,而手机具有多种独立的物理定位机制:

    • GPS/GNSS:卫星定位,精度 3-5 米
    • 基站定位:运营商侧完成,用户无法控制
    • WiFi 定位:通过 BSSID 匹配数据库,精度 10-50 米

    VPN/代理仅解决 IP 层隐私。对于物理位置隐私,需额外措施:关闭 GPS、使用飞行模式+WiFi、禁止应用获取位置权限。

    4. DNS 泄漏防护

    WiFi 手动代理只能代理 HTTP/HTTPS 流量,DNS 查询仍走明文通道,导致访问域名被运营商记录。

    解决方案:配置私有 DNS(DoT 加密),推荐 dns.adguard-dns.com(带广告过滤)或 NextDNS(可自定义黑名单)。

    详细配置步骤与验证方法 → dns-leak-prevention.md

    5. WebRTC 泄漏防护

    WebRTC 协议会绕过代理/VPN 直接暴露本地 IP 和公网 IP 地址。

    解决方案:Firefox 中 about:config → media.peerconnection.enabled = false;Chrome 安装 WebRTC Leak Prevent 扩展。

    详细配置步骤与验证方法 → webrtc-leak-prevention.md

    6. 隐私防护清单

    网络层

    • [x] 配置PC端代理(V2rayN TUN模式 / Clash TUN模式)
    • [x] 手机WiFi设置手动代理
    • [x] 配置私有DNS(DoT加密)
    • [x] 禁用浏览器WebRTC
    • [ ] 可选:安装VPN应用并启用”锁死模式”

    应用层

    • [ ] 更换为隐私友好的应用
    • 浏览器:Firefox → 禁用WebRTC + uBlock Origin
    • 输入法:Gboard (关闭网络权限)
    • 相册:Simple Gallery Pro
    • 应用商店:F-Droid + Aurora Store
    • [ ] 禁用系统自带应用联网权限
    • 相册、联系人、短信、拨号
    • [ ] 检查应用权限使用记录
    • 设置 → 隐私 → 权限使用记录

    系统层

    • [ ] 禁用系统遥测组件(通过ADB)
      bash
      adb shell pm disable-user com.nearme.statistics.rom
      adb shell pm disable-user com.oplus.statistics.rom
    • [ ] 禁用反诈与安全中心代理
      bash
      adb shell pm disable-user com.coloros.safesdkproxy
      adb shell pm disable-user com.oplus.safecenter

    7. 验证工具

    在线检测网站

    1. DNS泄漏检测
      – https://1.1.1.1/help (Cloudflare)
      – https://dnsleaktest.com/

    2. WebRTC泄漏检测
      – https://browserleaks.com/webrtc
      – https://ipleak.net/

    3. 综合隐私检测
      – https://coveryourtracks.eff.org/ (EFF)
      – https://amiunique.org/ (浏览器指纹)

    ADB检查命令

    # 检查DNS配置
    adb shell getprop net.dns1
    adb shell getprop net.dns2
    
    # 检查代理配置
    adb shell settings get global http_proxy
    
    # 检查VPN状态
    adb shell dumpsys connectivity | grep -i vpn
    

    延伸阅读


    最后更新: 2026-03-13