安裝mitmproxy以及遇到的坑和簡單用法

mitmproxy 是一款工具,也能夠說是 python 的一個包,在命令行操做的工具。python

MITM 即中間人攻擊(Man-in-the-middle attack)c++

使用這個工具能夠在命令行上進行抓包,還能夠對所抓到的包進行腳本處理,很是有用。web

安裝 mitmproxy

安裝這個咱們必須先安裝了 pip。 pip 在安裝了 python以後自帶的,若是你安裝了 python 就能夠忽略了,如何安裝這裏就不說了,只說安裝 mitmproxy瀏覽器

打開命令行,輸入 pip install mitmproxy 便可工具

按下回車便可下載ui

可是到最後下載失敗spa

error: Microsoft Visual C++ 14.0 is required. Get it with 「Microsoft Visual C++ Build Tools」: http://landinghub.visualstudio.com/visual-cpp-build-tools

是由於安裝這個包的 window 系統須要首先安裝 Microsoft Visual C++ V14.0以上 才行。操作系統

能夠在https://visualstudio.microsof... 直接下載便可,安裝以後須要把 c++ de 庫之類的東西都安裝了,而後再在命令行進行安裝 mitmproxy便可。命令行

安裝完以後查看 mitmproxy版本代理

命令行輸入 mitmproxy --version

顯示錯誤,這是由於 window操做系統不支持使用 mitmproxy 這個命令,咱們可使用 mitmdump 或 mitmweb 代替。

這樣就成功了。

如何使用 mitmproxy抓包

開啓抓包:mitmdump

這樣子就是開始抓包了,監聽了全部的地址,端口是 8080,若是須要改端口號,能夠按 ctrl + c 退出抓包,而後輸入下列命令:

mitmdump -p 8889

這樣子就把端口號改爲 8889 了

若是須要抓手機的包的話,就須要在你鏈接的 wifi 修改代理

上面的主機名字是 你電腦抓包的 ip 地址,端口號是剛纔設置的端口號。設置完了打開瀏覽器查看。

發現需證書有問題,咱們還須要安裝 mitmproxy 提供的證書,要不抓包失敗。

安裝證書:瀏覽器輸入 mitm.it

而後根據你的手機系統進行安裝便可。

而後就能夠進行抓包了。在瀏覽器輸入 baidu.com 就能夠看到下面內容了。

電腦端的也是這樣差很少,都是設置代理後安裝證書,這裏就很少說了。

抓包以後的操做

因爲在 window上操做,只能使用 mitmdump 和 mitmweb這兩個命令,mitmdump 命令是沒有界面,只能進行默默地抓包,不能進行數據包的查看和過濾。而 mitmweb 和在一個網頁上進行抓包的調試。因此下面咱們用 mitmweb 來進行調試。

1.開始抓包

mitmweb -p 8889

在你輸入 baidu.com 的時候就會看到這些包了。

查看包的請求信息和響應信息只須要點擊相對應的包便可。其餘的就很少說了。

在 mitmproxy 上運行 python腳本

mitmproxy 的強大之處就在於它可以運行 python 腳原本處理相關的請求,如今就來看看如何處理吧。

mitmdump -p 889 -s mitm.py

這個就是在抓包的同時運行了 mitm.py 的腳本了,代碼是:

# 必須這樣寫 def request(flow):  print(flow.request.headers)  # 打印請求頭

這個是打印抓到的請求頭,方法名和參數的名稱是固定的,寫錯了就運行不了這個腳本。

這樣子就開始了,而後在手機上打開網頁。

這樣子就把他們的請求頭給輸出了。

可是輸出並不明顯,咱們可使用裏面的一個日誌模塊來輸出,這樣子就會顯示出不一樣的顏色了。

命令行上顯示這樣:

這樣子就清楚多了。

除了上面的請求頭,咱們還能夠訪問他們的請求方法,請求路徑等。

響應的請求也能夠獲取:

一樣,這裏的方法名和參數也是固定的,不寫這個會捕捉不到。

本文完。

相關文章
相關標籤/搜索