Я думаю, что вы пытаетесь предотвратить возникновение TCP-согласования, если оно соответствует определенному IP-адресу.Насколько я знаю, это невозможно на уровне сокетов.Будет выполнено согласование TCP, и к тому времени, когда вы примете прием сокета, согласование уже произошло.
Технически возможно, что вы могли бы как-то взглянуть на эту информацию о состоянии, но она не будет делать то, что вы ожидаете.Прием сокета - это интерфейс между ядром, которое уже выполнило свою работу, и вашей программой, которая хотела бы прочитать данные.Самое простое, что нужно сделать - это принять сокет и загрузить его, если он вам не нужен.
Если вы хотите предотвратить в первую очередь согласование TCP, вам нужно использовать iptables.