Я пишу частичное переопределение TCP для целей обучения, используя Scapy. Мой TCP server.py не получает возможности отвечать на сообщения SYN, отправленные ему, потому что ядро отвечает на них в первую очередь (OSX 10.10.5). Я прочитал справочную страницу pf.conf
но не похоже, что есть опция для создания правила, которое фильтрует пакеты из пространства ядра, но не из пространства пользователя (к сожалению, похоже, что linux iptables
предоставляет такую возможность, QUEUE
).
Я пробовал следующее правило pf
, но оно фильтрует пакеты напрямую (как из ядра, так и из моего приложения). Я хочу сказать, что я не вижу пакета с портом dest 3000 в wireshark.
Правило ПФ:
block drop quick on lo0 proto tcp from any to any port = 3000
Команда nmap используется для генерации SYN:
nmap 192.168.1.12 -p 3000
Как я могу заставить ядро передавать TCP-пакеты в пространство пользователя, ничего не делая?