1. 準備下載下傳軟體
介紹一款爬蟲輔助工具
mitmproxy
,mitmproxy 就是用于MITM的proxy,MITM中間人攻擊。說白了就是伺服器和客戶機中間通訊多增加了一層。跟Fiddler和Charles最大的不同就是,mitmproxy可以進行二次開發,尤其可以對接python。
mitmproxy一般用于開發或者測試,用在爬蟲輔助也是極好的。
1.1 幾個重要位址
github位址:
https://github.com/mitmproxy/mitmproxy官網位址:
https://mitmproxy.org/1.2 安裝流程
進入CMD視窗,執行
pip install mitmproxy
安裝完成後,系統将擁有 mitmproxy、mitmdump、mitmweb 三個指令,由于 mitmproxy 指令不支援在 windows 系統中運作。
mitmproxy是一個支援HTTP和HTTPS的抓包程式,有類似Fiddler、Charles的功能。除了指令行形式的控制台,mitmproxy還有兩個關聯元件:mitmdump和mitmweb。
mitmdump:它是mitmproxy的指令行接口,利用它我們可以對接Python腳本,用Python實作監聽後的處理。
mitmweb:它是一個Web程式,通過它我們可以清楚觀察mitmproxy捕獲的請求。
我們可以拿 mitmdump 測試一下安裝是否成功,執行:
mitmdump --version
執行結果

1.3 啟動mitmweb
控制台運作
mitmweb
輸出
λ mitmweb
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:8080
同時打開你的預設浏覽器
1.4 配置代理
操作簡單,熟悉爬蟲的人設定起來難度不大
将代理伺服器設定為 127.0.0.1:8080即可
這是完畢,在随便通路一個網站,例如百度,一股似曾相識的感覺鋪面而來,這就是網頁版的Fiddler
1.5 指令行啟動
接下來關閉所有 Chrome 視窗,否則指令行啟動時的附加參數将失效。打開 cmd,執行:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
前面那一長串是 Chrome 的的安裝路徑,應當根據系統實際情況修改,後面兩參數設定了代理位址并強制忽略掉證書錯誤。
1.6 CA憑證的安裝
當我們初次運作mitmproxy或mitmdump時,
會在目前目錄下生成 ~/.mitmproxy檔案夾,其中該檔案下包含4個檔案,這就是我們要的證書了。
.mitmproxy檔案夾自行搜尋,我采用的是
everything軟體
,一般在電腦上的使用者目錄
mitmproxy-ca.pem 私鑰
mitmproxy-ca-cert.pem 非windows平台使用
mitmproxy-ca-cert.p12 windows上使用
mitmproxy-ca-cert.cer 與mitmproxy-ca-cert.pem相同,android上使用
windows上安裝證書很簡單,輕按兩下.p12結尾的證書檔案即可。
安卓手機需要将對應的檔案發送到手機檔案,進行安裝。
将mitmproxy-ca-cert.cer 放到sdcard根目錄下
選擇設定-安全和隐私-從儲存設備安裝證書
2. 使用mitmdump
在windows平台下一般使用mitmdump
控制台運作 mitmdump,出現如下結果
λ mitmdump
Proxy server listening at http://*:8080
2.1 擷取本地IP位址 ipconfig
打開模拟器,跟fiddler和Charles的配置其實是非常類似的
基本步驟
1.電腦和手機連接配接到同一個wifi環境下
2.修改浏覽器代理伺服器位址為運作mitmdump的那台機器(本機)ip位址,端口設定為你啟動mitmdump時設定的端口,如果沒有指定就使用8080
3.手機做同樣操作,修改wifi連結代理為 【手動】,然後指定ip位址和端口
在手機或pc機上打開浏覽器通路 mitm.it 這個位址,選擇你目前平台的圖示,點選安裝證書。
所有這一切操作完畢,打開模拟器的預設浏覽器,輸入www.baidu.com,等待資料的抓取
3. mitmproxy安裝與模拟器配合操作完畢
當你看到資料抓取到的那一刻,表示本篇部落格結束啦,下一篇,我們就實際的對接一下Python,感謝你的閱讀。