我的路由器正好是 linux 的,而 iptables 正好有 layer7 的检测能力,所以做起来还算方便。
首先还是得抓包,各地 ISP 可能方法类似,但是细节不同,我就在 windows 上用 wireshark 抓的,用 tcpdump 神马的也可以。
此劫持包一般紧接着 Get 请求的包返回来,我这边抓包结果是这样的: 1. IP 部分 TOS flag 是 0x10,查了一下,表示最小延迟,看来 ISP 希望这个包尽快到达 2. TCP flag 是 FIN,PSH,ACK,比较可疑的是 PSH,也是提高包的优先级的 3. 劫持的代码在一个包内,也是为了尽快到达