1. 程式人生 > 程式設計 >Python3爬蟲mitmproxy的安裝步驟

Python3爬蟲mitmproxy的安裝步驟

mitmproxy是一個支援HTTP和HTTPS的抓包程式,類似Fiddler、Charles的功能,只不過它通過控制檯的形式操作。

此外,mitmproxy還有兩個關聯元件,一個是mitmdump,它是mitmproxy的命令列介面,利用它可以對接Python指令碼,實現監聽後的處理;另一個是mitmweb,它是一個Web程式,通過它以清楚地觀察到mitmproxy捕獲的請求。

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

1. 相關連結

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

官方網站: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,直接執行如下命令即可安裝:

pip3installmitmproxy

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

3. Windows下的安裝

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

af0c8284c33306898fd14bf37e161c9.png

圖1-59 下載頁面

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

注意,在Windows上不支援mitmproxy的控制檯介面,但是可以使用mitmdump和mitmweb。

4. Linux下的安裝

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

如果你的環境裡沒有Python 3和OpenSSL環境,建議使用此種方式安裝。

下載之後,需要解壓並將其配置到環境變數:

tar-zxvfmitmproxy-2.0.2-linux.tar.gz
sudomvmitmproxymitmdumpmitmweb/usr/bin

這樣就可以將3個可執行檔案移動到了/usr/bin目錄。而一般情況下,/usr/bin目錄都已經配置在了環境變數下,所以接下來可以直接呼叫這3個工具了。

5. Mac下的安裝

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

brewinstallmitmproxy

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

6. Docker安裝

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

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

dockerrun--rm-it-p8080:8080mitmproxy/mitmproxymitmdump

這樣就在8080埠上啟動了mitmproxy和mitmdump。

如果想要獲取CA證書,可以選擇掛載磁碟選項,命令如下:

dockerrun--rm-it-v~/.mitmproxy:/home/mitmproxy/.mitmproxy-p8080:8080mitmproxy/mitmproxymitmdump

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

另外,還可以在8081埠上啟動mitmweb,命令如下:

dockerrun--rm-it-p8080:8080-p127.0.0.1:8081:8081mitmproxy/mitmproxymitmweb

更多啟動方式可以參考Docker Hub的安裝說明。

7. 證書配置

對於mitmproxy來說,如果想要截獲HTTPS請求,就需要設定證書。mitmproxy在安裝後會提供一套CA證書,只要客戶端信任了mitmproxy提供的證書,就可以通過mitmproxy獲取HTTPS請求的具體內容,否則mitmproxy是無法解析HTTPS請求的。

首先,執行以下命令產生CA證書,並啟動mitmdump:

mitmdump

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

c5e125a69df9d0c9a831f766e744e13.png

圖1-60 證書檔案

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

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

f07d0ab59c2854c81548f701c1a6aa0.png

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

Windows

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

837d72a5afd598c1cdd9222a5e2cbbe.png

圖1-61 證書匯入嚮導

直接點選“下一步”按鈕即可,會出現密碼設定提示,如圖1-62所示。

a58354ee361b749439c4c2ce8c2055d.png

圖1-62 密碼設定提示

這裡不需要設定密碼,直接點選“下一步”按鈕即可。

接下來需要選擇證書的儲存區域,如圖1-63所示。這裡點選第二個選項“將所有的證書都放入下列儲存”,然後點選“瀏覽”按鈕,選擇證書儲存位置為“受信任的根證書頒發機構”,接著點選“確定”按鈕,然後點選“下一步”按鈕。

2ec10bf0c24aae7588d427f07a37ca1.png

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

最後,如果有安全警告彈出,如圖1-64所示,直接點選“是”按鈕即可。

59de8412a4ea85639fe6b28c453924d.png

圖1-64 安全警告

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

Mac

Mac下雙擊mitmproxy-ca-cert.pem即可彈出鑰匙串管理頁面,然後找到mitmproxy證書,開啟其設定選項,選擇“始終信任”即可,如圖1-65所示。

4a2fa237f57c78ec31ff771c0613e47.png

圖1-65 證書配置

iOS

將mitmproxy-ca-cert.pem檔案傳送到iPhone上,推薦使用郵件方式傳送,然後在iPhone上可以直接點選附件並識別安裝,如圖1-66所示。

8549785a7816566e43268043d7af9d4.png

圖1-66 證書安裝頁面

點選“安裝”按鈕之後,會跳到安裝描述檔案的頁面,點選“安裝”按鈕,此時會有警告提示,如圖1-67所示。

b6d4b7deaa79a3413b3a3fb355e0a84.png

圖1-67 安裝警告頁面

繼續點選右上角的“安裝”按鈕,安裝成功之後會有已安裝的提示,如圖1-68所示。

eb6de68bd9b1659740a0a86dc71c2d7.png

圖1-68 安裝成功頁面

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

如果你的iOS版本是10.3及以上版本,還需要在“設定”→“通用”→“關於本機”→“證書信任設定”將mitmproxy的完全信任開關開啟,如圖1-69所示。此時,在iOS上配置信任CA證書的流程就結束了。

39264196d01afcfb3162e2756bea7e5.png

圖1-69 證書信任設定

Android

在Android手機上,同樣需要將證書mitmproxy-ca-cert.pem檔案傳送到手機上,例如直接複製檔案。

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

86ced523b13465fe4352b5189ed9b42.png

圖1-70 證書安裝頁面

這時輸入證書的名稱,然後點選“確定”按鈕即可完成安裝。

到此這篇關於Python3爬蟲mitmproxy的安裝步驟的文章就介紹到這了,更多相關Python3爬蟲mitmproxy的安裝內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!