Project Dispute

TCP会被阻断,UDP会被Qos
虽然说KCP与Quic等基于UDP的传输协议逐渐兴起
但也有极其明显的流量特征
如果要开发新的协议
又要修改内核,否则数据包会被直接丢弃
因此,对抗一个旁路系统的最佳方式是另一个旁路系统
Project Dispute 因此而生
考虑到NAT穿透等对新协议部署的阻碍
Project Dispute 只支持IPv6
使用AF_PACKET抓包,gopacket 解包
并在iptables的INPUT Chain过滤,阻止包进入网络栈
(其实进去也没事,但会触发ICMP Unrecognized NextHeader报文,很烦)
随便在IPv6 Header中的Next Header字段取了Unused的146
(Ref: Protocol Numbers )
不过现在Repo里的只是PoC
下周大概会重构?(笑)