lou dea4339716 L1 伪装器: SYN 重写为 Windows 10 布局(纯函数核心 + NFQUEUE worker)
- rewrite.py: 出向 SYN 剥 TS/window 64240/wscale 8/MSS 1460, 重算 IP+TCP 校验和
- worker.py: NFQUEUE ctypes worker, 原包 ACCEPT 放行, 异常一律放行(9-06 断网复盘铁律)
- config/masquerader.json: 指纹模板外置
- 10 个单测覆盖 Linux/Windows SYN/非 SYN/UDP/IPv6/畸形包
2026-09-09 14:47:04 +08:00
2026-09-09 14:04:45 +08:00

vpn回环防火墙及系统伪装

内网多设备(NAT 共享一个校园网账号)出网流量特征归一化: 让检测方(深信服 AC / 防共享检测)看到的是一台 Windows 设备, 而不是 NAT 后面一堆 Linux/Android 设备。

架构(设计定案 2026-09-09, 详见 network-circumvention 技能

references/device-fingerprint-unification.md)

内网设备 -> 软路由:
  L1 伪装器(本仓库当前实现): nftables + NFQUEUE
     TTL 全协议统一 128(TCP/UDP/ICMP)
     SYN 重写为 Windows 10 布局(window 64240 / wscale 8 / MSS 1460,
     剥 TS option - 协商级移除, 多设备时钟分离信号失效)
  L2 分流器(TPROXY, 未实现):
     HTTPS -> 直连; HTTP 明文 + 公网 DNS -> 云通道
  L3 云服务器 203.0.113.10(未实现):
     HTTPS 套壳转发(统一 TLS/UA 指纹) + DNS 递归

L1 伪装器

  • masquerader/rewrite.py: 纯函数核心(无 netfilter 依赖), 输入原始 IPv4 TCP SYN 包, 输出改写包; 非 SYN/非 IPv4/畸形一律返回 None(worker 放行)
  • masquerader/worker.py: NFQUEUE worker(ctypes 绑 libnetfilter_queue), 部署在软路由 OpenWrt x86_64
  • config/masquerader.json: 指纹模板配置(外置)

铁律(9-06 zapret 断网复盘): 改包后原包 ACCEPT 放行, 绝不走 desync 重发; 异常一律放行(宁可不伪装, 不能断网)。

测试

.venv/bin/python -m unittest discover -s tests -t . -v

落地顺序

  1. L1 伪装器(当前, 独立可验)
  2. L2/L3 通道(HTTP/DNS 套壳, 协议做成"普通 HTTPS 访问云服务器"外观)
  3. 分流表(HTTPS 直连 / HTTP 套壳 / DNS 套壳 / 内网 hosts / 流媒体本地解析)

待办侦察(老板回寝室网后): 软路由 zapret 残留规则/mangle 现状/nfqws 自编译产物; 当前 HTTP 明文流量摸底。

S
Description
内网出口流量伪装系统: NAT 多设备出口统一为单一 Windows 指纹 (SYN 重写 + HTTP/DNS 加密套壳通道)
Readme MIT 104 KiB
Languages
Python 82.8%
Shell 17.2%