Не удается получить трафик при настройке режима прозрачного прокси для определенного порта
263
shikn
Я хотел бы захватить вызов службы HTTP от HostA -> HostB, чтобы проверить клиент на HostA для замены ответа HTTP. Обе ОС Linux. Я попытался следовать, но потерпел неудачу. Какой рекомендуемый способ сделать это?
Я хотел бы использовать режим прозрачного прокси, потому что я не могу изменить клиента и не могу перенаправить весь трафик с HostA на hostB, поскольку другие службы также работают на HostA. Я хотел бы только перенаправить соединение клиента с хоста A на хост B. Клиент на хосте A вызывает службу на хосте B через определенный порт 10001 по HTTP.
Я попытался настроить HostC с mitmproxy (HostA и HostC находятся в одной подсети) HostA (ip_A) -> HostC (ip_C) с mitmproxy-> HostB (ip_B), я установил таблицу ip для создания прозрачного режима.
Вот что я настраиваю на HostA
sudo iptables -t mangle -I OUTPUT -p tcp --dport 10001 -j MARK --set-mark 1 sudo ip route add default via ip_C table 100 sudo ip rule add fwmark 0x1 table 100
Сервисный вызов может быть перехвачен mitmproxy на HostA, но не может получить ответ.
Большое спасибо за вашу помощь.
Извините за опечатку, это 10001.
shikn 6 лет назад
0
Что ты на самом деле пытаешься сделать? Вы просто хотите увидеть трафик? Что плохого в том, чтобы просто использовать коммутатор с включенным [зеркалированием портов] (https://en.wikipedia.org/wiki/Port_mirroring) и wireshark или tcpdump?
Appleoddity 6 лет назад
0
О, я хочу перехватить ответ и заменить ответ на запрос от HostA.
shikn 6 лет назад
0
Возможно, полное изменение программного обеспечения может помочь увидеть https://softwarerecs.stackexchange.com/questions/4239/what-software-to-modify-and-create-tcp-ip-packets
Ross 6 лет назад
0
1 ответ на вопрос
0
Ross
Возможно - как только пакеты попадают на сервер MITM, он теперь переходит на порт 8080 - но веб-сервер HOST_A все еще работает на 10001 - так что вам не нужно делать другие IPTABLES, чтобы вернуть их на 10001? Я думаю, что ты лучше меня, но я бы догадался