使用 iptables 丢弃运营商的TCP/IP连接劫持包.
注意:目前仍在实验阶段,无法保证不会对正常的连接产生破坏.
- 保存
iptables-save-rule.conf到本地, 修改{you WAN}为你的wan介面.例ppp0 - 运行
iptables-restore来恢复iptables规则.
注意 :此操作会重置iptables所有表.
##需求
- Module
bpf - Module
u32 - Module
connmark - Module
mark connmark的标志位需要0x7FF长度来记录MSS值,还有0xFF来记录TTL值.默认记录位置为0x07FF00FF.mark的标志位需要0x1长度.默认记录位置为0x00000001.
##工作原理
- 对每条
TCP连接在握手时的SYN+ACK包的TTL值和MSS协商值. - 并使用
TCP flags标志为ACK|ACK&&PSH,且TCP Data长度为0或长度为MSS协商值的包对保存的TTL值更新. - 其余包在不符合
TTL值时将被DROP.