Фильтрация входящего трафика без знания подсети назначения

У меня Linux-машина, настроенная в качестве маршрутизатора с двумя интерфейсами, обращенными к LAN A и LAN B. Я хочу фильтровать трафик, проходящий из LAN A в LAN B (входящий трафик), с помощью tcpdump, но у меня нет информации о подсети LAN. (не это: dst net subnetB)?

1 ответ

Я не совсем понял, что вы хотите, но если вы хотите захватывать пакеты, которые пересылаются (как в, маршрутизируется) ядром из интерфейса eth0 интерфейс eth1Вы можете добавить это iptables правило:

iptables -A FORWARD -i eth0 -o eth1 -j NFLOG

Затем используйте tcpdump или же wireshark захватывать пакеты от псевдоинтерфейса Netfilter Log (tcpdump работает с использованием nflog в качестве имени интерфейса), который читает пакеты, которые видны NFLOG цель.

Если вы также хотите регистрировать пакеты, которые идут наоборот, просто вставьте другое правило iptables:

iptables -A FORWARD -i eth0 -o eth1 -j NFLOG

Из пакета wireshark/tcpdump можно увидеть только те пакеты, которые действительно пересылаются. Пакеты, отправленные с хоста или полученные без пересылки, не перехватываются. Но вы все равно можете решить захватить их, добавив больше правил NFLOG в INPUT или же OUTPUT,

Кроме того, следите за использованием процессора: он может быть медленнее NFLOG чем захватывать напрямую с интерфейса.

Другие вопросы по тегам