行動代理服務¶
行動代理服務,聽起來可能不太容易理解。我們先用一句話來描述,就是 FIRERPA 內建一個 HTTP 代理伺服器,您可以透過這個 HTTP 網路代理,也就是透過手機的網路連線到外部網路來存取其他網站。
例如,有時候您想在與裝置相同的網路 IP 下進行一些網路測試工作來排查問題。FIRERPA 的這個代理功能,支援您將執行 FIRERPA 的裝置作為 HTTP 網路代理伺服器,也就是說,您可以透過此功能將此行動裝置作為代理伺服器,讓通訊流量通過此裝置的網路出口。或者,當您在擷取封包,但不希望流量從本機電腦出去時,那麼您可以設定此代理服務為 mitmproxy 的上游代理,這樣,您就可以擷取到封包,並且所有通訊流量仍然透過原本的裝置發出。又或者,將大量裝置的閒置網路用作 IP 代理服務等。
使用代理¶
您可以在 Firefox 瀏覽器的設定中手動設定代理,將 192.168.0.2 連接埠 65000 設定為代理,並勾選 也將此代理用於 HTTPS,這樣您的 Firefox 將會與裝置有著相同的對外 IP。
您也可以透過以下 curl 指令快速體驗
curl -x http://192.168.0.2:65000 https://httpbin.org/ip
您也可以透過 Python requests 使用
requests.get("https://httpbin.org/ip", proxies={"http":"http://192.168.0.2:65000", "https": "http://192.168.0.2:65000"})
預設情況下,這個代理無需任何認證,但是當您使用 --certificate 啟動時(使用了服務憑證),那麼登入使用者名稱為 lamda,密碼與遠端桌面登入權杖(注意不是遠端桌面的自訂密碼,而是服務憑證檔案中的密碼)相同,您也可以使用 properties.local 自訂設定 tunnel2.password 來自行設定此密碼。
對於上述使用服務憑證的情況,請透過以下方式使用
curl -x http://lamda:憑證密碼@192.168.0.2:65000 https://httpbin.org/ip
同樣地,Python requests 也是如下形式
requests.get("https://httpbin.org/ip", proxies={"http":"http://lamda:憑證密碼@192.168.0.2:65000", "https": "http://lamda:憑證密碼@192.168.0.2:65000"})
設定代理¶
您可以透過在 properties.local 中寫入以下設定來對行動代理功能進行設定,您可以設定其密碼驗證,或使其透過 rmnet(4G/5G 行動網路)介面發出,而不是預設的對外網路介面。
tunnel2.login=lamda
tunnel2.password=您的新密碼
對外介面 iface 設定用來設定行動代理的出口網路,它存在兩個可設定的值,即 wlan、rmnet。當 iface 值為 wlan 時,將自動偵測可用的 wlan 介面並選擇任意一個發出請求, 而當 iface 為 rmnet 時,將嘗試啟用行動數據(4/5G,即使 WIFI 已開啟),並嘗試將請求從行動網路介面發出。當設定為 rmnet/wlan 但其介面無網路時,代理將會失效。 未對此項進行設定時,則使用預設網路發出請求。
tunnel2.iface=rmnet