[Python3網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)實(shí)戰(zhàn)] 1.7.2-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ū)涂身。(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的安裝說(shuō)明蛤售。

7. 證書(shū)配置

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

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

mitmdump

接下來(lái),我們就可以在用戶目錄下的.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ō)明

名稱(chēng)描述

mitmproxy-ca.pemPEM格式的證書(shū)私鑰

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

mitmproxy-ca-cert.p12PKCS12格式的證書(shū)呀洲,適用于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)下的證書(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)擊“確定”按鈕即可完成安裝晋柱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末优构,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雁竞,更是在濱河造成了極大的恐慌钦椭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碑诉,死亡現(xiàn)場(chǎng)離奇詭異彪腔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)进栽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)德挣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人快毛,你說(shuō)我怎么就攤上這事格嗅。” “怎么了唠帝?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵屯掖,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我襟衰,道長(zhǎng)贴铜,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任右蒲,我火速辦了婚禮阀湿,結(jié)果婚禮上赶熟,老公的妹妹穿的比我還像新娘瑰妄。我一直安慰自己,他們只是感情好映砖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布间坐。 她就那樣靜靜地躺著,像睡著了一般邑退。 火紅的嫁衣襯著肌膚如雪竹宋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天地技,我揣著相機(jī)與錄音蜈七,去河邊找鬼。 笑死莫矗,一個(gè)胖子當(dāng)著我的面吹牛飒硅,可吹牛的內(nèi)容都是我干的砂缩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼三娩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼庵芭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起极阅,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤肋僧,失蹤者是張志新(化名)和其女友劉穎胳搞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體好乐,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年瓦宜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了曹宴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歉提,死狀恐怖笛坦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情苔巨,我是刑警寧澤版扩,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站侄泽,受9級(jí)特大地震影響礁芦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悼尾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一柿扣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闺魏,春花似錦未状、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泡仗,卻和暖如春埋虹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娩怎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工搔课, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人截亦。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓爬泥,卻偏偏與公主長(zhǎng)得像旦事,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姐浮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容