原理:
在 TCP 三次握手之后,立即发送一个 HTTP GET 请求,Host 为指定域名。使用 NFQUEUE 实现。
命令(需要 sudo ):
fakehttp -h www.example.com -i eth0
特点:
因为 nf_deaf 是内核模块,需要手动编译,有一定使用门槛。FakeHTTP 选择使用 iptables + NFQUEUE 方案,使用 musl 静态编译,通用全部主流 Linux 发行版。
一些说明:
- iptables ( iptables-legacy 或者 iptables-nft 都行)规则都在 mangle 表内。
- FakeHTTP 检查入站的第一个 ACK 或者 SYN-ACK ,后续数据包打上 fwmark 不再检查。
- TTL 值默认为 3 ,可以通过
-t <ttl>
调整。要让这个 HTTP 数据包刚好通过限速检查,但不被目标服务器收到。 - 精简的 OpenWRT 可能需要
opkg install kmod-...
,主要是要有 nfqueue 、conntrack 功能。 - 不支持 WSL (比较麻烦)
特别说明:
首次使用 FakeHTTP ,请不要远程操作。若使用不当,可能造成远程机器断网。
没有回复内容