我想允许我的应用程序决定是否使用套接字API 在侦听套接字上接受传入连接。我想在我的程序中实现此决策功能,因此nfqueue之类的外部解决方案对我没有用(也没有将整个TCP堆栈移至用户空间)。
换句话说,我不想用SYN
来回应来自不想要来源的SYNACK
数据包。
这似乎是this question的副本,但是讨论已有7年的历史了,没有提供解决方案。 This 4-year old post也解决了相同的问题,再次没有解决方案。显然Windows中的SO_CONDITIONAL_ACCEPT
解决了这个问题,但是我需要Linux的解决方案。
我想知道Linux TCP堆栈中的较新功能(例如TCP_SAVE_SYN
或eBPF等实用程序是否允许这样做)。