不管你是遇到加小尾巴跳转,iframe 嵌套广告,302 跳转,还是 JavaScript 脚本劫持.
只要是基于旁路设备监听抢答数据包这个原理的劫持行为.
这套 iptables 规则就能应对.
注意:目前仍在实验阶段,浙江移动测试有效,无法保证不会对正常的连接产生破坏.
主要原理:基于 IP 头 TTL 值的判断丢包.并使用 ACK 空应答包,和装满数据的 TCP 包来更新 TTL,防止正常 TTL 变动导致连接断开.
需要模块
bpf
u32
connmark
mark
注意
connmark
的标志位需要 0x7FF 长度来记录 MSS 值,还有 0xFF 来记录 TTL 值.默认记录位置为 0x07FF00FF.mark
的标志位需要 0x1 长度.默认记录位置为 0x00000001.工作原理
SYN+ACK
包的 TTL 值和 MSS 协商值.ACK|ACK&&PSH
,且 TCP Data 长度为 0 或长度为 MSS 协商值的包对保存的 TTL 值更新.这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.