确定Linux中用户空间中哪些TCP连接要接受()

时间:2019-05-04 14:12:37

标签: linux sockets tcp berkeley-sockets ebpf

我想允许我的应用程序决定是否使用套接字API 在侦听套接字上接受传入连接。我想在我的程序中实现此决策功能,因此nfqueue之类的外部解决方案对我没有用(也没有将整个TCP堆栈移至用户空间)。

换句话说,我不想用SYN来回应来自不想要来源的SYNACK数据包。

这似乎是this question的副本,但是讨论已有7年的历史了,没有提供解决方案。 This 4-year old post也解决了相同的问题,再次没有解决方案。显然Windows中的SO_CONDITIONAL_ACCEPT解决了这个问题,但是我需要Linux的解决方案。

我想知道Linux TCP堆栈中的较新功能(例如TCP_SAVE_SYN或eBPF等实用程序是否允许这样做)。

0 个答案:

没有答案