1. Mitmproxy 簡介
- Mitmproxy本意為中間人攻擊代理;
- 在爬蟲中主要用作抓取 http_connect、request、response 等數據;
- mitmproxy官方文檔地址:https://docs.mitmproxy.org/stable/;
【提示】
Mitmproxy 相較於 fillder、wireshark 的不同:
-- mitmproxy 不僅可以截獲請求、幫助開發者查看、分析、更可以通過自定義腳本進行二次開發,修改爬蟲行為;
2. 配置 Mitmproxy
2.1 安裝 mitmproxy
pip install mitmproxy
安裝好后檢查安裝情況。
mitmdump --version
查看版本號、支持的Python版本、OpenSSL協議等
2.2. 啟動 mitmproxy
mitmweb # mitmproxy有三種啟動方式,此處使用的命令可以提供一個web交互界面

【提示】
mitmproxy有三種啟動命令:
(1) mitmweb
-- 提供一個web界面;
-- 代理端口:綁定了 *:8080作為代理端口;
-- 交互界面地址:localhost:8081;
(2) mitmproxy
-- 提供命令行界面;
-- 可以通過命令過濾請求;
(3) mitmdump
-- 【TODO】
得到下圖,表示啟動成功,端口號默認為 8080。

mitmproxy服務器綁定了 *:8080作為代理端口
此時,瀏覽器自動打開下圖頁面,這是 mitmproxy 提供的 web 交互界面。

上圖為mitmproxy自動打開的web交互界面
2.3. 安裝CA證書
第一步,將電腦和手機連到同一個 WiFi 中;
第二步,獲取本機的內網IP地址;
ipconfig
得到電腦本機的內網IP地址為 10.26.36.142。


第三步,給手機WiFi配置代理
服務器地址為電腦內網IP地址,端口為8080
第四步,安裝證書
使用手機瀏覽器訪問 mitm.it
選擇自己的手機系統
點擊允許,開始安裝。
安裝完成后,得到已驗證的提示。
第五步,證書信任設置
進入設置->通用->關於本機->證書信任設置,信任新安裝的證書即可
2.4 配置完成
此時,mitmweb 頁面出現下圖內容,紅框中的為 mitmproxy 抓取的手機的請求。

