
Я пытаюсь захватить трафик LAN<>GATEWAY маршрутизатора. Маршрутизатор имеет прошивку на базе Linux, и я могу использовать iptables для выполнения сетевых задач. Я хочу захватить трафик в серой зоне вэтоткартинка. Я буду использовать netfilter-queue для захвата перенаправленного трафика.
Трафик, который я фиксирую, должен быть...
- После DNAT на входящем трафике (WAN->LAN).
- До SNAT на исходящем трафике (WAN<-LAN).
Я нашел несколько изображений, поясняющих цепочки iptables.здесь. Я придумал несколько сценариев для захвата таких вещей. Но каждая картинка основана на одной системе, поэтому я не уверен, что это будет хорошо работать. Это было бы по-другому, но давайте просто представим, что eth0 подключен к WAN, а eth1 подключен к LAN.
- Захват трафика в цепочке фильтров или таблиц искажения FORWARED.
iptables -I FORWARD -j NFQUEUE
- Захват трафика в цепочке PREROUTING таблицы mangle.
iptables -t mangle -I PREROUTING -j NFQUEUE
- Захват трафика в цепочке PREROUTING eth1(LAN) и цепочке POSTROUTING eth0(WAN).
iptables -t mangle -i eth1 -I PREROUTING -j NFQUEUE
iptables -t mangle -i eth0 -I POSTROUTING -j NFQUEUE
Какой выбор будет лучшим для захвата трафика LAN<>GATEWAY? Было бы лучше, если бы я мог попробовать все из них, но у меня нет доступа к маршрутизатору, поэтому я не могу проверить сейчас.
решение1
Я нашел решение этой проблемы сегодня и собираюсь поделиться им сейчас. Я смог захватить пакеты после DNAT и до SNAT с помощью цепочки FORWARD. Так что ответ был 1.
iptables -I FORWARD -j NFQUEUE
Теперь я пытаюсь найти способ перехвата пакетов для определенного хоста (используя MAC-адрес хоста).