743 字
4 分钟
当路由器开始“偷窥”:我是如何用 Hysteria2 让它彻底失明的
0x00 缘起:一条日志引发的恐慌
上周末登录自家路由后台,随手点开「在线设备 → 访问记录」——
好家伙,连手机昨晚刷了哪些 App、访问了哪些域名,按秒级时间轴排得整整齐齐。
虽然这是我自己的网络,但被人“扒光”的滋味依旧不好受。
于是开启了一场“如何在你家网络上裸奔而不被路由器发现”的实验。
0x01 初探:路由器到底在监控什么?
- DNS Query 日志
最显眼的就是time.apple.com、clients4.google.com这类明文 UDP/53 请求。 - HTTP Host / SNI
即便走了 HTTPS,TLS 握手里的 SNI 依旧把域名暴露得明明白白。 - TCP SYN 四元组
通过统计(src_ip, src_port, dst_ip, dst_port)也能推断出“谁访问了谁”。
一句话:只要数据包在裸奔,路由器就能看见。
0x02 第一回合:DoH/DoT 的局限
我把手机 DNS 先后换成 Cloudflare DoH 与 Google DoT,
确实把 UDP/53 日志“清零”了,但路由器依旧精准地列出我访问的站点。
这说明:只加密 DNS 远远不够,SNI + 明文 IP 仍在告密。
0x03 第二回合:干掉 SYN?不如全包加密
既然动数据包,干脆一步到位——把所有流量塞进加密的 UDP 隧道。
调研一圈,盯上了 Hysteria2:
基于 QUIC、自带 TLS 1.3、能把 TCP/UDP 统统裹进 UDP/443,
还能把报文外层再套一次 salamander 混淆,特征极弱。
0x04 动手:30 分钟搭好全套
1) VPS 端(Ubuntu 22.04)
# 一键脚本bash <(curl -fsSL https://get.hy2.sh/)
# /etc/hysteria/config.yaml 精简示例listen: :443tls: cert: /root/.acme.sh/your.domain_ecc/fullchain.cer key: /root/.acme.sh/your.domain_ecc/your.domain.keyauth: type: password password: "SuperStrongP@ss!"bandwidth: up: 100 mbps down: 100 mbps2) 安卓端:CMFA(Clash Meta For Android)
- 从 Meta 官方 release 安装最新 APK
- 创建 Hysteria2 节点:
proxies: - name: "Hysteria2盲点逃生" type: hysteria2 server: your.domain port: 443 password: "SuperStrongP@ss!" sni: your.domain skip-cert-verify: false udp: true- 规则:
把「局域网流量」指向DIRECT,其余全部走Hysteria2盲点逃生。
这样家里 NAS、打印机等本地设备依旧直连,外网流量全部隐身。
0x05 效果验证:路由器瞬间“失明”
| 测试项 | 未代理 | Hysteria2 隧道 |
|---|---|---|
| 路由器日志域名 | 100% 命中 | 0 条记录 |
| SNI 明文 | 可见 | 被 QUIC+TLS 1.3 隐藏 |
| 延迟 | 直连 3 ms | +8 ms(可忽略) |
| 峰值速度 | 950 Mbps | 900 Mbps(几乎无损) |
0x06 题外安全提示
- 别把 VPS 当免罪金牌:落地 IP 仍属于你的实例,不要做坏事。
- 端口跳跃:如果遇到 QoS,可在服务端加
portHopping做 30 s 级端口漂移。 - 内存占用:512 MB 小鸡需适当降低
initStreamReceiveWindow,否则可能被打满。
0x07 结语
当路由器开始记录一切,加密就是最大的尊重。
Hysteria2 + CMFA 这套组合,把「偷窥者」直接变成「瞎子」,
而我只花了 30 分钟和一杯咖啡的钱。
下一篇准备聊聊「如何用端口跳跃对抗校园网 QoS」,
想看的留言 +1,咱们评论区见!
当路由器开始“偷窥”:我是如何用 Hysteria2 让它彻底失明的
https://blog.sheepmc.top/posts/当路由器开始偷窥我是如何用-hysteria2-让它彻底失明的/