Я хочу разрешить моему приложению решать, принимать ли входящее соединение через прослушивающий сокет , используя сокет API . Я хочу реализовать эту функциональность решения в моей программе, поэтому внешние решения, такие как nfqueue, для меня бесполезны (и при этом весь стек TCP не перемещается в пространство пользователя).
Другими словами, я не хочу отвечать на SYN
пакеты из нежелательных источников с помощью SYNACK
.
Это похоже на этот вопрос , но обсуждение там 7 лет, и решение не предусмотрено. Этот 4-летний пост также рассматривает ту же проблему, опять же без решения. Очевидно, SO_CONDITIONAL_ACCEPT
в Windows решает эту проблему, но мне нужно решение для Linux.
Мне было интересно, позволяют ли это новые функции в стеке Linux TCP, такие как TCP_SAVE_SYN
, или такие утилиты, как eBPF.