[Python3網絡爬蟲開發實戰] 1.7.2-mitmproxy的安裝

mitmproxy是一個支持HTTP和HTTPS的抓包程序,相似Fiddler、Charles的功能,只不過它經過控制檯的形式操做。html

此外,mitmproxy還有兩個關聯組件,一個是mitmdump,它是mitmproxy的命令行接口,利用它能夠對接Python腳本,實現監聽後的處理;另外一個是mitmweb,它是一個Web程序,經過它以清楚地觀察到mitmproxy捕獲的請求。python

本節中,咱們就來了解一下mitmproxy、mitmdump和mitmweb的安裝方式。linux

1. 相關連接

2. pip安裝

最簡單的安裝方式仍是使用pip,直接執行以下命令便可安裝:git

 

 

這是最簡單和通用的安裝方式,執行完畢以後便可完成mitmproxy的安裝,另外還附帶安裝了mitmdump和mitmweb這兩個組件。若是不想用這種方式安裝,也能夠選擇後面列出的專門針對各個平臺的安裝方式或者Docker安裝方式。github

3. Windows下的安裝

能夠到GitHub上的Releases頁面(連接爲:https://github.com/mitmproxy/mitmproxy/releases/)獲取安裝包,如圖1-59所示。圖1-59 下載頁面web

好比,當前的最新版本爲2.0.2,則能夠選擇下載Windows下的exe安裝包mitmproxy-2.0.2-windows-installer.exe,下載後直接雙擊安裝包便可安裝。docker

注意,在Windows上不支持mitmproxy的控制檯接口,可是可使用mitmdump和mitmweb。windows

4. Linux下的安裝

在Linux下,能夠下載編譯好的二進制包(下載地址https://github.com/mitmproxy/mitmproxy/releases/),此發行包通常是最新版本,它包含了最新版本的mitmproxy和內置的Python 3環境,以及最新的OpenSSL環境。安全

若是你的環境裏沒有Python 3和OpenSSL環境,建議使用此種方式安裝。app

下載以後,須要解壓並將其配置到環境變量:

 

 

這樣就能夠將3個可執行文件移動到了/usr/bin目錄。而通常狀況下,/usr/bin目錄都已經配置在了環境變量下,因此接下來能夠直接調用這3個工具了。

5. Mac下的安裝

Mac下的安裝很是簡單,直接使用Homebrew便可,命令以下:

 

 

執行命令後,便可完成mitmproxy的安裝。

6. Docker安裝

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

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

 

 

這樣就在8080端口上啓動了mitmproxy和mitmdump。

若是想要獲取CA證書,能夠選擇掛載磁盤選項,命令以下:

 

 

這樣就能夠在~/.mitmproxy目錄下找到CA證書。

另外,還能夠在8081端口上啓動mitmweb,命令以下:

 

 

更多啓動方式能夠參考Docker Hub的安裝說明。

7. 證書配置

對於mitmproxy來講,若是想要截獲HTTPS請求,就須要設置證書。mitmproxy在安裝後會提供一套CA證書,只要客戶端信任了mitmproxy提供的證書,就能夠經過mitmproxy獲取HTTPS請求的具體內容,不然mitmproxy是沒法解析HTTPS請求的。

首先,運行如下命令產生CA證書,並啓動mitmdump:

 

 

接下來,咱們就能夠在用戶目錄下的.mitmproxy目錄裏面找到CA證書,如圖1-60所示。

圖1-60 證書文件

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

表1-1 5個證書及其說明

名稱

描述

mitmproxy-ca.pem

PEM格式的證書私鑰

mitmproxy-ca-cert.pem

PEM格式證書,適用於大多數非Windows平臺

mitmproxy-ca-cert.p12

PKCS12格式的證書,適用於Windows平臺

mitmproxy-ca-cert.cer

與mitmproxy-ca-cert.pem相同,只是改變了後綴,適用於部分Android平臺

mitmproxy-dhparam.pem

PEM格式的祕鑰文件,用於加強SSL安全性

下面咱們介紹一下Windows、Mac、iOS和Android平臺下的證書配置過程。

Windows

雙擊mitmproxy-ca.p12,就會出現導入證書的引導頁,如圖1-61所示。

圖1-61 證書導入嚮導

直接點擊「下一步」按鈕便可,會出現密碼設置提示,如圖1-62所示。

圖1-62 密碼設置提示

這裏不須要設置密碼,直接點擊「下一步」按鈕便可。

接下來須要選擇證書的存儲區域,如圖1-63所示。這裏點擊第二個選項「將全部的證書都放入下列存儲」,而後點擊「瀏覽」按鈕,選擇證書存儲位置爲「受信任的根證書頒發機構」,接着點擊「肯定」按鈕,而後點擊「下一步」按鈕。

圖1-63 選擇證書存儲區域

最後,若是有安全警告彈出,如圖1-64所示,直接點擊「是」按鈕便可。

圖1-64 安全警告

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

Mac

Mac下雙擊mitmproxy-ca-cert.pem便可彈出鑰匙串管理頁面,而後找到mitmproxy證書,打開其設置選項,選擇「始終信任」便可,如圖1-65所示。

圖1-65 證書配置

iOS

將mitmproxy-ca-cert.pem文件發送到iPhone上,推薦使用郵件方式發送,而後在iPhone上能夠直接點擊附件並識別安裝,如圖1-66所示。

圖1-66 證書安裝頁面

點擊「安裝」按鈕以後,會跳到安裝描述文件的頁面,點擊「安裝」按鈕,此時會有警告提示,如圖1-67所示。

圖1-67 安裝警告頁面

繼續點擊右上角的「安裝」按鈕,安裝成功以後會有已安裝的提示,如圖1-68所示。

圖1-68 安裝成功頁面

若是你的iOS版本是10.3如下的話,此處信任CA證書的流程就已經完成了。

若是你的iOS版本是10.3及以上版本,還須要在「設置」→「通用」→「關於本機」→「證書信任設置」將mitmproxy的徹底信任開關打開,如圖1-69所示。此時,在iOS上配置信任CA證書的流程就結束了。

圖1-69 證書信任設置

Android

在Android手機上,一樣須要將證書mitmproxy-ca-cert.pem文件發送到手機上,例如直接複製文件。

接下來,點擊證書,便會出現一個提示窗口,如圖1-70所示。

圖1-70 證書安裝頁面

這時輸入證書的名稱,而後點擊「肯定」按鈕便可完成安裝。

相關文章
相關標籤/搜索