LINUX.ORG.RU

История изменений

Исправление leet27, (текущая версия) :

IMHO Для модификации пакетов можно воспользоваться двумя способами:

А как же netfilter hook? И вообще, какой из способов сейчас самый православный? (вопросы, возможно, дурацкие, но я ядерный разработчик ненастоящий, маску на стройке нашел).

Учти, что tcpdump обычно получает доступ к пакетам через AF_PACKET который на схеме в 2-х местах. Входящие пакеты tcpdump видит до того как они попали в iptables.

Дело было именно в этом. На SO кто-то когда-то разбирал вопрос, жаль я раньше не нагуглил. Для входящих пакетов tcpdump стоит в цепочке раньше netfilter, поэтому без дополнительных приседаний он видит пакеты с nic, а уже потом я их порчу в target-extension, поэтому в дампах нет результатов работы extension.

Если воспользоваться «-j NFLOG –nflog-group X» + «tcpdump -ni nflog:X», то можно посмотреть пакет в любом месте.

И это в точку. В моем случае правильная (ну или один из правильных вариантов) последовательность действий для просмотра модифицированных входящих пакетов:

# iptables -t mangle -A PREROUTING -j TRIPSO --to-astra
# iptables -I INPUT -j NFLOG --nflog-group 1
# tcpdump -ni nflog:1 -w ~/dump.pcap

Исходная версия leet27, :

IMHO Для модификации пакетов можно воспользоваться двумя способами:

А как же netfilter hook? И вообще, какой из способов сейчас самый православный? (вопросы, возможно, дурацкие, но я ядерный разработчик ненастоящий, маску на стройке нашел).

Учти, что tcpdump обычно получает доступ к пакетам через AF_PACKET который на схеме в 2-х местах. Входящие пакеты tcpdump видит до того как они попали в iptables.

Дело было именно в этом. На SO кто-то когда-то разбирал вопрос, жаль я раньше не нагуглил. Для входящих пакетов tcpdump стоит в цепочке раньше netfilter, поэтому без дополнительных приседаний он видит пакеты с nic, а уже потом я их порчу в target-extension, поэтому в дампах нет результатов работы extension.

Если воспользоваться «-j NFLOG –nflog-group X» + «tcpdump -ni nflog:X», то можно посмотреть пакет в любом месте.

И это в точку. В моем случае правильная (ну или один из правильных вариантов) последовательность действий

# iptables -t mangle -A PREROUTING -j TRIPSO --to-astra
# iptables -I INPUT -j NFLOG --nflog-group 1
# tcpdump -ni nflog:1 -w ~/dump.pcap