上一篇文章: Python3網絡爬蟲實戰---七、Python3網絡爬蟲實戰---APP爬取相關庫的安裝:Charles的安裝
下一篇文章:
MitmProxy 是一個支持 HTTP 和 HTTPS 的抓包程序,相似 Fiddler、Charles 的功能,只不過它是一個控制檯的形式操做。
同時 MitmProxy 還有兩個關聯組件,一個是 MitmDump,它是 MitmProxy 的命令行接口,利用它咱們能夠對接 Python 腳本,用 Python 實現監聽後的處理。另外一個是 MitmWeb,它是一個 Web 程序,經過它咱們能夠清楚地觀察到 MitmProxy 捕獲的請求。
本節咱們來了解一下 MitmProxy、MitmDump、MitmWeb 的安裝方式。html
最簡單的安裝方式仍是使用 Pip,直接執行以下命令便可安裝:python
pip3 install mitmproxy
這是最簡單和通用的安裝方式,執行完畢以後便可完成 MitmProxy的安裝,另外還安裝了MitmDump、MitmWeb 兩個組件,若是不想用此種方式安裝也能夠選擇下文列出的專門針對各個平臺的安裝方式或者 Docker 安裝方式。git
Mac 的安裝很是簡單,使用 HomeBrew 便可,命令以下:github
brew install mitmproxy
執行命令後便可完成 MitmProxy 的安裝。web
MitmProxy 也支持 Docker,其 Docker Hub 的地址爲https://hub.docker.com/r/mitm...
Docker 下 MitmProxy 的安裝命令爲:docker
docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdump
這樣就在 8080 端口上啓動了 MitmProxy 和 MitmDump。
若是想要獲取 CA 證書,能夠選擇掛載磁盤選項,命令以下:segmentfault
docker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy mitmdump
這樣能夠在 ~/.mitmproxy 目錄找到 CA 證書。
另外還能夠在 8081 端口上啓動 MitmWeb,命令以下:網絡
docker run --rm -it -p 8080:8080 -p 127.0.0.1:8081:8081 mitmproxy/mitmproxy mitmweb
更多啓動方式能夠參考 Docker Hub 的安裝說明。網站
對於 MitmProxy 來講,若是想要截獲 HTTPS 請求,咱們就須要設置證書,MitmProxy 在安裝後會提供一套 CA 證書,只要客戶端信任了 MitmProxy 提供的證書,咱們就能夠經過 MitmProxy 獲取 HTTPS 請求的具體內容,不然 MitmProxy 是沒法解析 HTTPS 請求的。
首先運行一下命令產生 CA 證書,啓動 MitmDump 便可:
mitmdump
這樣便可啓動 MitmDump,接下來咱們就能夠在用戶目錄下的 .mitmproxy 目錄裏面找到 CA 證書,如圖 1-61 所示:spa
圖 1-61 證書文件
證書一共五個,下面是對這五個證書的說明:
下面咱們介紹一下 Mac、iOS、Android 平臺下的證書配置過程。
Mac 下雙擊 mitmproxy-ca-cert.pem 便可彈出鑰匙串管理頁面,而後找到 mitmproxy 證書,點擊打開其設置選項,選擇始終信任便可,如圖 1-66 所示:
圖 1-66 證書配置
這樣就配置完成 Mac 下信任 CA 證書了。
將 mitmproxy-ca-cert.pem 文件發送到 iPhone 上,推薦使用郵件的方式發送,iPhone 上能夠直接點擊附件並識別安裝,如圖 1-67 所示:
圖 1-67 證書安裝頁面
點擊以後會跳到安裝描述文件的頁面,點擊右上角的安裝按鈕便可安裝,此處會有警告提示,如圖 1-68 所示:
圖 1-68 安裝警告頁面
繼續點擊右上角的安裝便可,安裝成功以後會有已安裝的提示,如圖 1-69 所示:
若是你的 iOS 版本是 10.3 如下的話,此處信任 CA 證書的流程就已經完成了。
若是你的 iOS 版本是 10.3 及以上,還須要在設置->通用->關於本機->證書信任設置將證書添加徹底信任,如圖 1-70 所示:
圖 1-70 證書信任設置
在這裏將 MitmProxy 的徹底信任開關打開便可。
這樣 iOS 上配置信任 CA 證書的流程就結束了。
Android
Android 手機一樣須要將證書 mitmproxy-ca-cert.pem 文件發送到手機上,例如直接拷貝文件。
接下來點擊證書便會出現一個提示窗口,如圖 1-71 所示:
圖 1-71 證書安裝頁面
這時輸入證書的名稱,而後點擊肯定便可完成安裝。
本節咱們瞭解了 MitmProxy、MitmDump、MitmWeb 的安裝方式,在後文咱們會用它來進行 APP 數據的抓取。