Как объединить два прокси-сервера в цепочку, или: Как перенаправить сетевой трафик с одного процесса на локальный прокси-сервер

Как объединить два прокси-сервера в цепочку, или: Как перенаправить сетевой трафик с одного процесса на локальный прокси-сервер

Вот сценарий: у меня есть прокси, который, когда Chrome настроен на сопоставление запросов, записывает запросы от Chrome + ответы от реального сервера. Он записывает все это вспециальный формат, поэтому замена этой службы другой невозможна. Этот прокси-сервер слушает 127.0.0.1:80и 127.0.0.443и отправляет запросы напрямую в сеть через Python (исходный код можно найти по ссылке выше).

Проблема в том, что я не хочу заходить ни на один обычный старый сайт через Chrome, чтобы записать ответ... Мне нужно изменить ответ несколькими способами с сервера.Mitm-проксиидеально подходит для этого, и я настроил его с помощью корневого сертификата, чтобы изменять определенные вещи, которые мне нужны для клиентов, использующих этот прокси.

Моя проблема в том, что я могу использовать только одинилидругой. Либо:

  • Chrome может пересылать запросы ==> записывающий прокси, который отправляет запросы ==> сеть (минуя прокси mitm), или
  • Chrome может пересылать запросы ==> mitm proxy, который отправляет запросы ==> сеть и манипулирует ответами, которые видит Chrome, так, как мне нужно (но минуя записывающий прокси)

У меня возникли трудности с объединением этих двух вместе, так что прокси-сервер записи записывает измененные ответы от прокси-сервера mitm. Я подумал, что один из способов сделать это — сопоставить запросы Chrome ==> прокси-сервер записи (через флаги cli) и настроить параметры прокси-сервера на уровне системы так, чтобы все сопоставлялось с прокси-сервером mitm, но это просто переопределило настройки Chrome и обошло прокси-сервер записи. Кажется, сложно заставить один прокси стоять перед другим, а не оба рядом, если это имеет смысл.

Так что мне действительно нужно знать: есть ли способ заставить записывающий прокси-сервер, который отправляет запросы напрямую в Интернет, вместо этого перенаправлять свой трафик на прокси-сервер mitm, чтобы он мог манипулировать записанными ответами.

Я надеюсь, что это можно сделать без значительной модификации прокси-сервера записи, если таковая вообще будет, и вместо этого просто перенаправить весь трафик из его процесса или что-то в этом роде. Заранее спасибо :)

Связанный контент