天天看點

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

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
           

執行結果

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

1.3 啟動mitmweb

控制台運作

mitmweb

輸出

λ mitmweb
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:8080
           

同時打開你的預設浏覽器

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

1.4 配置代理

操作簡單,熟悉爬蟲的人設定起來難度不大

将代理伺服器設定為 127.0.0.1:8080即可

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

這是完畢,在随便通路一個網站,例如百度,一股似曾相識的感覺鋪面而來,這就是網頁版的Fiddler

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

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軟體

,一般在電腦上的使用者目錄

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分
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 這個位址,選擇你目前平台的圖示,點選安裝證書。

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分
Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

所有這一切操作完畢,打開模拟器的預設浏覽器,輸入www.baidu.com,等待資料的抓取

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分

3. mitmproxy安裝與模拟器配合操作完畢

當你看到資料抓取到的那一刻,表示本篇部落格結束啦,下一篇,我們就實際的對接一下Python,感謝你的閱讀。

Python爬蟲入門教程 47-100 mitmproxy安裝與安卓模拟器的配合使用-手機APP爬蟲部分