[Python3網(wǎng)絡(luò)爬蟲開發(fā)實(shí)戰(zhàn)] 1.7.2-mitmproxy的安裝

mitmproxy是一個(gè)支持HTTP和HTTPS的抓包程序,類似Fiddler、Charles的功能,只不過它通過控制臺(tái)的形式操作。

此外,mitmproxy還有兩個(gè)關(guān)聯(lián)組件,一個(gè)是mitmdump,它是mitmproxy的命令行接口,利用它可以對(duì)接Python腳本,實(shí)現(xiàn)監(jiān)聽后的處理;另一個(gè)是mitmweb,它是一個(gè)Web程序,通過它以清楚地觀察到mitmproxy捕獲的請(qǐng)求。

本節(jié)中,我們就來了解一下mitmproxy、mitmdump和mitmweb的安裝方式。

1. 相關(guān)鏈接

GitHub:https://github.com/mitmproxy/mitmproxy

官方網(wǎng)站:https://mitmproxy.org

PyPI:https://pypi.python.org/pypi/mitmproxy

官方文檔:http://docs.mitmproxy.org

mitmdump腳本:http://docs.mitmproxy.org/en/stable/scripting/overview.html

下載地址:https://github.com/mitmproxy/mitmproxy/releases

DockerHub:https://hub.docker.com/r/mitmproxy/mitmproxy

2. pip安裝

最簡單的安裝方式還是使用pip,直接執(zhí)行如下命令即可安裝:

pip3 install mitmproxy

這是最簡單和通用的安裝方式,執(zhí)行完畢之后即可完成mitmproxy的安裝,另外還附帶安裝了mitmdump和mitmweb這兩個(gè)組件。如果不想用這種方式安裝,也可以選擇后面列出的專門針對(duì)各個(gè)平臺(tái)的安裝方式或者Docker安裝方式。

3. Windows下的安裝

可以到GitHub上的Releases頁面(鏈接為:https://github.com/mitmproxy/mitmproxy/releases/)獲取安裝包,如圖1-59所示。

圖1-59 下載頁面

比如,當(dāng)前的最新版本為2.0.2,則可以選擇下載Windows下的exe安裝包mitmproxy-2.0.2-windows-installer.exe,下載后直接雙擊安裝包即可安裝。

注意,在Windows上不支持mitmproxy的控制臺(tái)接口,但是可以使用mitmdump和mitmweb。

4. Linux下的安裝

在Linux下,可以下載編譯好的二進(jìn)制包(下載地址https://github.com/mitmproxy/mitmproxy/releases/),此發(fā)行包一般是最新版本,它包含了最新版本的mitmproxy和內(nèi)置的Python 3環(huán)境,以及最新的OpenSSL環(huán)境。

如果你的環(huán)境里沒有Python 3和OpenSSL環(huán)境,建議使用此種方式安裝。

下載之后,需要解壓并將其配置到環(huán)境變量:

tar -zxvf mitmproxy-2.0.2-linux.tar.gz

sudo mv mitmproxy mitmdump mitmweb /usr/bin

這樣就可以將3個(gè)可執(zhí)行文件移動(dòng)到了/usr/bin目錄。而一般情況下,/usr/bin目錄都已經(jīng)配置在了環(huán)境變量下,所以接下來可以直接調(diào)用這3個(gè)工具了。

5. Mac下的安裝

Mac下的安裝非常簡單,直接使用Homebrew即可,命令如下:

brew install mitmproxy

執(zhí)行命令后,即可完成mitmproxy的安裝。

6. Docker安裝

mitmproxy也支持Docker,其DockerHub的地址為https://hub.docker.com/r/mitmproxy/mitmproxy/

在Docker下,mitmproxy的安裝命令為:

docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdump

這樣就在8080端口上啟動(dòng)了mitmproxy和mitmdump。

如果想要獲取CA證書,可以選擇掛載磁盤選項(xiàng),命令如下:

docker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy mitmdump

這樣就可以在~/.mitmproxy目錄下找到CA證書。(C:\Users\Administrator\.mitmproxy

另外,還可以在8081端口上啟動(dòng)mitmweb,命令如下:

docker run --rm -it -p 8080:8080 -p 127.0.0.1:8081:8081 mitmproxy/mitmproxy mitmweb

更多啟動(dòng)方式可以參考Docker Hub的安裝說明。

7. 證書配置

對(duì)于mitmproxy來說,如果想要截獲HTTPS請(qǐng)求,就需要設(shè)置證書。mitmproxy在安裝后會(huì)提供一套CA證書,只要客戶端信任了mitmproxy提供的證書,就可以通過mitmproxy獲取HTTPS請(qǐng)求的具體內(nèi)容,否則mitmproxy是無法解析HTTPS請(qǐng)求的。

首先,運(yùn)行以下命令產(chǎn)生CA證書,并啟動(dòng)mitmdump:(C:\Users\Administrator\.mitmproxy

mitmdump

接下來,我們就可以在用戶目錄下的.mitmproxy目錄里面找到CA證書,如圖1-60所示。

圖1-60 證書文件

證書一共5個(gè),表1-1簡要說明了這5個(gè)證書。

表1-1 5個(gè)證書及其說明

名稱描述

mitmproxy-ca.pemPEM格式的證書私鑰

mitmproxy-ca-cert.pemPEM格式證書,適用于大多數(shù)非Windows平臺(tái)

mitmproxy-ca-cert.p12PKCS12格式的證書,適用于Windows平臺(tái)

mitmproxy-ca-cert.cer與mitmproxy-ca-cert.pem相同,只是改變了后綴,適用于部分Android平臺(tái)

mitmproxy-dhparam.pemPEM格式的秘鑰文件,用于增強(qiáng)SSL安全性

下面我們介紹一下Windows、Mac、iOS和Android平臺(tái)下的證書配置過程。

Windows

雙擊mitmproxy-ca.p12,就會(huì)出現(xiàn)導(dǎo)入證書的引導(dǎo)頁,如圖1-61所示。

圖1-61 證書導(dǎo)入向?qū)?/p>

直接點(diǎn)擊“下一步”按鈕即可,會(huì)出現(xiàn)密碼設(shè)置提示,如圖1-62所示。

圖1-62 密碼設(shè)置提示

這里不需要設(shè)置密碼,直接點(diǎn)擊“下一步”按鈕即可。

接下來需要選擇證書的存儲(chǔ)區(qū)域,如圖1-63所示。這里點(diǎn)擊第二個(gè)選項(xiàng)“將所有的證書都放入下列存儲(chǔ)”,然后點(diǎn)擊“瀏覽”按鈕,選擇證書存儲(chǔ)位置為“受信任的根證書頒發(fā)機(jī)構(gòu)”,接著點(diǎn)擊“確定”按鈕,然后點(diǎn)擊“下一步”按鈕。

圖1-63 選擇證書存儲(chǔ)區(qū)域

最后,如果有安全警告彈出,如圖1-64所示,直接點(diǎn)擊“是”按鈕即可。

圖1-64 安全警告

這樣就在Windows下配置完CA證書了。

Mac

Mac下雙擊mitmproxy-ca-cert.pem即可彈出鑰匙串管理頁面,然后找到mitmproxy證書,打開其設(shè)置選項(xiàng),選擇“始終信任”即可,如圖1-65所示。

圖1-65 證書配置

iOS

將mitmproxy-ca-cert.pem文件發(fā)送到iPhone上,推薦使用郵件方式發(fā)送,然后在iPhone上可以直接點(diǎn)擊附件并識(shí)別安裝,如圖1-66所示。

圖1-66 證書安裝頁面

點(diǎn)擊“安裝”按鈕之后,會(huì)跳到安裝描述文件的頁面,點(diǎn)擊“安裝”按鈕,此時(shí)會(huì)有警告提示,如圖1-67所示。

圖1-67 安裝警告頁面

繼續(xù)點(diǎn)擊右上角的“安裝”按鈕,安裝成功之后會(huì)有已安裝的提示,如圖1-68所示。

圖1-68 安裝成功頁面

如果你的iOS版本是10.3以下的話,此處信任CA證書的流程就已經(jīng)完成了。

如果你的iOS版本是10.3及以上版本,還需要在“設(shè)置”→“通用”→“關(guān)于本機(jī)”→“證書信任設(shè)置”將mitmproxy的完全信任開關(guān)打開,如圖1-69所示。此時(shí),在iOS上配置信任CA證書的流程就結(jié)束了。

圖1-69 證書信任設(shè)置

Android

在Android手機(jī)上,同樣需要將證書mitmproxy-ca-cert.pem文件發(fā)送到手機(jī)上,例如直接復(fù)制文件。

接下來,點(diǎn)擊證書,便會(huì)出現(xiàn)一個(gè)提示窗口,如圖1-70所示。

圖1-70 證書安裝頁面

這時(shí)輸入證書的名稱,然后點(diǎn)擊“確定”按鈕即可完成安裝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容