如何連結兩個代理,或:如何將網路流量從一個行程重新導向到本地代理

如何連結兩個代理,或:如何將網路流量從一個行程重新導向到本地代理

場景如下:我有一個代理,當 Chrome 設定為將請求對應到時,記錄來自 Chrome 的請求 + 來自真實伺服器的回應。它將所有這一切記錄在一個特殊格式,因此用其他服務替換此服務是不可能的。該代理程式偵聽127.0.0.1:80127.0.0.443,並透過 Python 將請求直接發送到網路(原始程式碼可以在上面的連結中找到)。

問題是,我不想透過 Chrome 存取任何正常的舊網站來記錄回應...我需要透過伺服器以幾種方式修改回應。中間人代理非常適合此目的,並且我使用根憑證對其進行了設置,以修改使用此代理程式的用戶端所需的特定內容。

我的問題是我似乎只能使用一個或者另一個。任何一個:

  • Chrome可以轉發請求==>記錄代理,發送請求==>網路(繞過mitm代理),或者
  • Chrome 可以轉發請求 ==> mitm 代理,它發送請求 ==> 網絡,並以我想要的方式操縱 Chrome 看到的回應(但繞過記錄代理)

我很難將這兩者連結在一起,以便記錄代理記錄來自中間人代理的更改回應。我認為一種方法是讓Chrome 地圖請求==> 記錄代理(透過cli 標誌),並設定我的系統級代理設定以將所有內容對應到mitm 代理,但這只是覆蓋了Chrome 的設定並繞過了記錄代理人。似乎很難讓一個代理人站在另一個代理人面前,而不是兩個並排,如果這有意義的話。

所以我真正需要知道的是:有沒有一種方法可以製作記錄代理,它將請求直接發送到網絡,而不是將其流量轉發到mitm代理,以便它可以操縱記錄的回應。

我希望這可以在無需對記錄代理進行太多修改(如果有的話)的情況下完成,而只需重定向其進程或其他內容的所有流量即可。提前致謝 :)

相關內容