Назад | Перейти на главную страницу

mitmproxy: добавить следующий переход для определенного IP

Мне нужно переслать конкретные запросы с машины a.a.a.a через прозрачный прокси, расположенный по адресу p.p.p.p. В частности, только запросы с назначением b.b.b.b будет проксироваться через p.p.p.p.

По этой причине я установил mitmproxy на `` p.p.p.p и добавил следующую конфигурацию на прокси-хосте в соответствии с этот:

sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv4.conf.all.send_redirects=0
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10812 -j REDIRECT --to-port 8080
ip6tables -t nat -A PREROUTING -i eth0 -p tcp --dport 10812 -j REDIRECT --to-port 8080

и запустил mitmproxy: mitmproxy --mode transparent --showhost

Далее я хочу настроить шлюз для назначения b.b.b.b быть доверенным лицом p.p.p.p на машине a.a.a.a:

route add b.b.b.b via p.p.p.p. dev ens160

Моя таблица маршрутизации теперь выглядит так:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    0      0        0 ens160
10.5.228.32     0.0.0.0         255.255.255.224 U     0      0        0 ens160
b.b.b.b         p.p.p.p         255.255.255.255 UGH   0      0        0 ens160

Чтобы проверить, проксируется ли правильный трафик, я использую tcpdump на прокси:

tcpdump -i ens192 port 10812

К сожалению, я не вижу никаких пакетов, а mitmproxy не показывает никаких потоков. Следовательно, я предполагаю, что источник и место назначения напрямую связаны без прокси.

Я считаю, что ошибка заключается в определении следующего магазина. С другой стороны, iptables -L ничего не показывает на прокси-сервере после выдачи первых команд, показанных выше.