Python3爬蟲(chóng)mitmproxy的安裝步驟
mitmproxy是一個(gè)支持HTTP和HTTPS的抓包程序,類(lèi)似Fiddler、Charles的功能,只不過(guò)它通過(guò)控制臺(tái)的形式操作。
此外,mitmproxy還有兩個(gè)關(guān)聯(lián)組件,一個(gè)是mitmdump,它是mitmproxy的命令行接口,利用它可以對(duì)接Python腳本,實(shí)現(xiàn)監(jiān)聽(tīng)后的處理;另一個(gè)是mitmweb,它是一個(gè)Web程序,通過(guò)它以清楚地觀察到mitmproxy捕獲的請(qǐng)求。
本節(jié)中,我們就來(lái)了解一下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安裝
最簡(jiǎn)單的安裝方式還是使用pip,直接執(zhí)行如下命令即可安裝:
pip3 install mitmproxy
這是最簡(jiǎn)單和通用的安裝方式,執(zhí)行完畢之后即可完成mitmproxy的安裝,另外還附帶安裝了mitmdump和mitmweb這兩個(gè)組件。如果不想用這種方式安裝,也可以選擇后面列出的專(zhuān)門(mén)針對(duì)各個(gè)平臺(tái)的安裝方式或者Docker安裝方式。
3. Windows下的安裝
可以到GitHub上的Releases頁(yè)面(鏈接為:https://github.com/mitmproxy/mitmproxy/releases/)獲取安裝包,如圖1-59所示。

圖1-59 下載頁(yè)面
比如,當(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)境里沒(méi)有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)境變量下,所以接下來(lái)可以直接調(diào)用這3個(gè)工具了。
5. Mac下的安裝
Mac下的安裝非常簡(jiǎn)單,直接使用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證書(shū),可以選擇掛載磁盤(pán)選項(xiàng),命令如下:
docker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy mitmdump
這樣就可以在~/.mitmproxy目錄下找到CA證書(shū)。
另外,還可以在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的安裝說(shuō)明。
7. 證書(shū)配置
對(duì)于mitmproxy來(lái)說(shuō),如果想要截獲HTTPS請(qǐng)求,就需要設(shè)置證書(shū)。mitmproxy在安裝后會(huì)提供一套CA證書(shū),只要客戶(hù)端信任了mitmproxy提供的證書(shū),就可以通過(guò)mitmproxy獲取HTTPS請(qǐng)求的具體內(nèi)容,否則mitmproxy是無(wú)法解析HTTPS請(qǐng)求的。
首先,運(yùn)行以下命令產(chǎn)生CA證書(shū),并啟動(dòng)mitmdump:
mitmdump
接下來(lái),我們就可以在用戶(hù)目錄下的.mitmproxy目錄里面找到CA證書(shū),如圖1-60所示。

圖1-60 證書(shū)文件
證書(shū)一共5個(gè),表1-1簡(jiǎn)要說(shuō)明了這5個(gè)證書(shū)。
表1-1 5個(gè)證書(shū)及其說(shuō)明

下面我們介紹一下Windows、Mac、iOS和Android平臺(tái)下的證書(shū)配置過(guò)程。
Windows
雙擊mitmproxy-ca.p12,就會(huì)出現(xiàn)導(dǎo)入證書(shū)的引導(dǎo)頁(yè),如圖1-61所示。

圖1-61 證書(shū)導(dǎo)入向?qū)?/p>
直接點(diǎn)擊“下一步”按鈕即可,會(huì)出現(xiàn)密碼設(shè)置提示,如圖1-62所示。

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

圖1-63 選擇證書(shū)存儲(chǔ)區(qū)域
最后,如果有安全警告彈出,如圖1-64所示,直接點(diǎn)擊“是”按鈕即可。

圖1-64 安全警告
這樣就在Windows下配置完CA證書(shū)了。
Mac
Mac下雙擊mitmproxy-ca-cert.pem即可彈出鑰匙串管理頁(yè)面,然后找到mitmproxy證書(shū),打開(kāi)其設(shè)置選項(xiàng),選擇“始終信任”即可,如圖1-65所示。

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

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

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

圖1-68 安裝成功頁(yè)面
如果你的iOS版本是10.3以下的話,此處信任CA證書(shū)的流程就已經(jīng)完成了。
如果你的iOS版本是10.3及以上版本,還需要在“設(shè)置”→“通用”→“關(guān)于本機(jī)”→“證書(shū)信任設(shè)置”將mitmproxy的完全信任開(kāi)關(guān)打開(kāi),如圖1-69所示。此時(shí),在iOS上配置信任CA證書(shū)的流程就結(jié)束了。

圖1-69 證書(shū)信任設(shè)置
Android
在Android手機(jī)上,同樣需要將證書(shū)mitmproxy-ca-cert.pem文件發(fā)送到手機(jī)上,例如直接復(fù)制文件。
接下來(lái),點(diǎn)擊證書(shū),便會(huì)出現(xiàn)一個(gè)提示窗口,如圖1-70所示。

圖1-70 證書(shū)安裝頁(yè)面
這時(shí)輸入證書(shū)的名稱(chēng),然后點(diǎn)擊“確定”按鈕即可完成安裝。
到此這篇關(guān)于Python3爬蟲(chóng)mitmproxy的安裝步驟的文章就介紹到這了,更多相關(guān)Python3爬蟲(chóng)mitmproxy的安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python猜數(shù)字小游戲?qū)崿F(xiàn)代碼
大家好,本篇文章主要講的是python猜數(shù)字小游戲?qū)崿F(xiàn)代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能,結(jié)合實(shí)例形式分析了Python使用itchat、pandas、pyecharts等模塊針對(duì)微信好友數(shù)據(jù)進(jìn)行統(tǒng)計(jì)與計(jì)算相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
[機(jī)器視覺(jué)]使用python自動(dòng)識(shí)別驗(yàn)證碼詳解
這篇文章主要介紹了python自動(dòng)識(shí)別驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
pandas series序列轉(zhuǎn)化為星期幾的實(shí)例
下面小編就為大家分享一篇pandas series序列轉(zhuǎn)化為星期幾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
PyTorch中torch.cuda.amp相關(guān)警告的解決方法
在最近的寫(xiě)代碼過(guò)程中,遇到了兩個(gè)與 PyTorch 的混合精度訓(xùn)練相關(guān)的警告信息,torch.cuda.amp.autocast和torch.cuda.amp.GradScaler,文中通過(guò)代碼示例給大家介紹了詳細(xì)的解決方法,需要的朋友可以參考下2025-02-02
Python數(shù)據(jù)分析入門(mén)之教你怎么搭建環(huán)境
本篇文章要有一定的Python基礎(chǔ),知道列表,字符串,函數(shù)等的用法. 文中有非常詳細(xì)的代碼示例,對(duì)正在入門(mén)python數(shù)據(jù)分析的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05

