App爬蟲神器mitmproxy和mitmdump的使用

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

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

下面咱們來了解它們的用法。服務器

1、準備工做命令行

請確保已經正確安裝好了mitmproxy,而且手機和PC處於同一個局域網下,同時配置好了mitmproxy的CA證書。代理

2、mitmproxy的功能cdn

mitmproxy有以下幾項功能。
接口

d47e62d2b349aca45e42305ed6714efbe5ed61d9攔截HTTP和HTTPS請求和響應。
d47e62d2b349aca45e42305ed6714efbe5ed61d9保存HTTP會話並進行分析。
d47e62d2b349aca45e42305ed6714efbe5ed61d9模擬客戶端發起請求,模擬服務端返回響應。
d47e62d2b349aca45e42305ed6714efbe5ed61d9利用反向代理將流量轉發給指定的服務器。
d47e62d2b349aca45e42305ed6714efbe5ed61d9支持Mac和Linux上的透明代理。

d47e62d2b349aca45e42305ed6714efbe5ed61d9利用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以後咱們能夠直接進行解析,而後存入數據庫,這樣就完成了數據的解析和存儲過程。

點擊查看原文

相關文章
相關標籤/搜索