初步認識mitmproxy(一)


在windows機器上,經常用的最多的是fiddler工具,很強大,圖形化界面,使用方便、簡單;在mac上,Charles 類似fiddler工具,同樣是易於操作的圖形化界面,同樣都是通過代理的方式實現抓包功能,可通過工具分析http(s)包、修改resquest、response內容,滿足日常需求
   而筆者不想每次打開fiddler、手動去修改request或者response,希望通過腳本定制化實現篡改。首選mitmproxy , mitmproxy顧名思義中間人代理【man-in-the-middle proxy】,和fiddler、Charles等工具類似,通過代理方式實現對http(s)的攔截

環境
  1.Python3.6及以上 (python -V查看版本)
   2.更新pip(避免部分依賴包未下載)
   3.安裝mitmproxy
     pip install mitmproxy #安裝依賴包的同時也將環境安裝

介紹
引用原文:
The mitmproxy project’s tools are a set of front-ends that expose common underlying functionality.
   mitmproxy is an interactive man-in-the-middle proxy for HTTP and HTTPS with a console interface.
   mitmdump is the command-line version of mitmproxy. Think tcpdump for HTTP.
   mitmweb is a web-based interface for mitmproxy.
也就是說:
mitmproxy工程工具包,主要包含了3個組件
   mitmproxy:攔截的http(s)記錄控制台顯示 【window不支持】
   mitmdump:命令行接口,可以對接python腳本,通過腳本實現監聽后的處理,可定制個人需求
   mitmweb:web形式展示

特性
   - Intercept HTTP & HTTPS requests and responses and modify them on the fly
   - Save complete HTTP conversations for later replay and analysis
   - Replay the client-side of an HTTP conversations
   - Replay HTTP responses of a previously recorded server
   - Reverse proxy mode to forward traffic to a specified server
   - Transparent proxy mode on OSX and Linux
   - Make scripted changes to HTTP traffic using Python
   - SSL/TLS certificates for interception are generated on the fly
   - And much, much more…

使用
配置代理
   - 手機和電腦同處一個局域網,配置手機代理設置,與其他代理工具的配置方式一致
   - 訪問mitm.it 網址,直接下載、安裝、信任CA證書(https協議需要)

使用mitmproxy【window不可用,linux、mac可使用,筆者使用linux系統】
   - 啟動mitmproxy,默認8080,可指定端口
   mitmproxy -p 8888

- 控制台快捷命令說明

按鍵 說明
q 退出(相當於返回鍵,可一級一級返回)
d 刪除當前(黃色雙箭頭)指向的鏈接
D 恢復剛才刪除的請求
G 跳到最新一個請求
g 跳到第一個請求
C 清空控制台(C是大寫)
i 可輸入需要攔截的文件或者域名(起到過濾作用)
a 放行請求
A 放行所有請求
? 查看界面幫助信息
^ v 上下箭頭移動光標
enter 查看光標所在列的內容
tab 分別查看 Request 和 Response 的詳細信息
/ 搜索body里的內容
esc 退出編輯
e 進入編輯模式
結語
   這里僅僅介紹了環境搭建及mitmproxy的使用,其實很類似fiddler,甚至沒有fiddler直觀,不過用習慣了命令也是操作比較簡單的,但是我的目的不在於此,我的目的是通過腳本的方式定制化篡改http(s)的request或者response,下一章繼續mitmdump
【官網】https://docs.mitmproxy.org/stable/tools-mitmproxy/

作者:小蝸牛的成長
鏈接:https://www.jianshu.com/p/749a6b766884
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM