mitmproxy是一個支持HTTP和HTTPS的抓包程序,有相似Fiddler、Charles的功能,只不過它是一個控制檯的形式操做。
web
mitmproxy還有兩個關聯組件。一個是mitmdump,它是mitmproxy的命令行接口,利用它咱們能夠對接Python腳本,用Python實現監聽後的處理。另外一個是mitmweb,它是一個Web程序,經過它咱們能夠清楚觀察mitmproxy捕獲的請求。數據庫
下面咱們來了解它們的用法。服務器
1、準備工做命令行
請確保已經正確安裝好了mitmproxy,而且手機和PC處於同一個局域網下,同時配置好了mitmproxy的CA證書。代理
2、mitmproxy的功能cdn
mitmproxy有以下幾項功能。
接口
利用Python對HTTP請求和響應進行實時處理。get
3、抓包原理it
和Charles同樣,mitmproxy運行於本身的PC上,mitmproxy會在PC的8080端口運行,而後開啓一個代理服務,這個服務其實是一個HTTP/HTTPS的代理。
io
手機和PC在同一個局域網內,設置代理爲mitmproxy的代理地址,這樣手機在訪問互聯網的時候流量數據包就會流經mitmproxy,mitmproxy再去轉發這些數據包到真實的服務器,服務器返回數據包時再由mitmproxy轉發回手機,這樣mitmproxy就至關於起了中間人的做用,抓取到全部Request和Response,另外這個過程還能夠對接mitmdump,抓取到的Request和Response的具體內容均可以直接用Python來處理,好比獲得Response以後咱們能夠直接進行解析,而後存入數據庫,這樣就完成了數據的解析和存儲過程。