最好用的中間人攻擊工具mitmproxy
題圖:Photo by Max Busse on Unsplash
mitmproxy 是 man-in-the-middle attack proxy 的簡稱,譯為中間人攻擊工具,可以用來攔截、修改、儲存 HTTP/HTTPS 請求。做爬蟲離不開這些工具,特別是基於APP的爬蟲。mitmproxy 以命令列終端形式呈現,操作上類似於Vim,同時提供了 mitmweb 外掛,是類似於 Chrome 瀏覽器開發者模式的視覺化工具。
它是一款基於Python開發的開源工具,最重要的是它提供了Python API,你完全可以通過Python程式碼來控制請求和響應,這是其它工具所不能做到的,這點也是我喜歡這個工具的原因之一。
安裝
sudo pip3 install mitmproxy
啟動
mitmproxy
#或者指定埠
mitmproxy -p 8888
啟動 mitmproxy 之後,預設開啟8080埠, mitmproxy 命令不支援Windows平臺,需要使用 mitmdump 或者 mitmweb 命令代替。Windows系統也可以在官網下載它的EXE檔案進行安裝。
手機或者瀏覽器設定好代理之後,就可以進行抓包分析了,開啟瀏覽器訪問某個網址,mitmproxy 看到的效果是:
當前一共有136個請求,當前選擇的是第16個請求,請求方法是 GET, 返回的狀態碼是200,代理的埠是8080,通過 J、K 鍵可上下切換到不同的請求,回車可以看到當前選中的請求詳情,包括三部分,Request和Response還有 Detail
mitmproxy 快捷鍵
? 幫助文件
q 返回/退出程式
b 儲存response body
f 輸入過濾條件
k 上
j 下
h 左
l 右
space 翻頁
enter 進入介面詳情
z 清屏
e 編輯
r 重新請求
HTTPS 抓包配置
對於HTTPS請求,為了能正常抓到請求,需要先安裝證照。沒安裝證照的請求看到的效果是這樣的。
開啟網址 http://mitm.it , 選擇匹配的平臺,下載 HTTPS 證照。並按照對應的步驟進行安裝
mitmweb
$ mitmweb
啟動 mitmweb 命令後,會有一個類似Chrome開發者工具的Web頁面,功能上類似mitmroxy,一樣可以檢視每個請求的詳情,包括請求、響應,還可以對請求和響應內容進行修改,包括過濾、重新傳送請求等常用功能。
mitmdump
$ mitmdump -s script.py
mitmdump 命令最大的特點就是可以自定義指令碼,你可以在指令碼中對請求或者響應內容通過程式設計的方式來控制,實現資料的解析、修改、儲存等工作(程式碼可左右滑動)
# script.py
from mitmproxy import http
def request(flow: http.HTTPFlow) -> None:
# 將請求新增了一個查詢引數
flow.request.query["mitmproxy"] = "rocks"
def response(flow: http.HTTPFlow) -> None:
# 將響應頭中新增了一個自定義頭欄位
flow.response.headers["newheader"] = "foo"
print(flow.response.text)
當你在瀏覽器請求 http://httpbin.org/get ,看到的效果:
你還可以參考這些連結:
官方文件:https://docs.mitmproxy.org/stable/
GitHub地址:https://github.com/mitmproxy/mitmproxy
更多指令碼例子:https://github.com/mitmproxy/mitmproxy/tree/master/examples/simple
如何在Chrome瀏覽器設定代理:https://jingyan.baidu.com/article/e52e3615a3ef8e40c60c510f.html
上次中秋節有幾位沒來領獎的,將重新抽獎,2本放抽獎小程式,3本將隨機給留言的朋友,優先選擇以前有讚賞過的。
往期閱讀
相關文章
- 中間人攻擊(爬蟲工具) mitmproxy 使用指南爬蟲MIT
- 對github的中間人攻擊Github
- 中間人攻擊 -- Cookie噴發Cookie
- 中間人攻擊 -- Cookie 噴發Cookie
- 中間人攻擊原理與實踐
- 中間人攻擊利用框架bettercap測試框架
- 關於iOS HTTPS中間人攻擊iOSHTTP
- iOS環境下的中間人攻擊風險淺析iOS
- 中間人攻擊(man-in-the-middle attack):你和網際網路中間的第三人
- 哈薩克對所有 HTTPS 流量發動中間人攻擊HTTP
- 【網路安全】什麼是中間人攻擊?危害有哪些?
- TLS是如何保障資料傳輸安全(中間人攻擊)TLS
- 5分鐘帶你瞭解網路安全中間人攻擊!
- 你連 HTTPS 原理都不懂?就別講“中間人攻擊”!HTTP
- SSL/TLS協議安全系列- SSL中間人攻擊防範方案概述TLS協議
- 通過區域網中間人攻擊學網路第四篇
- 更多軟體被發現使用類似 Superfish 中間人攻擊技術
- mitmproxy抓包工具MIT
- 利用nodejs搭建 https 代理伺服器並實現中間人攻擊NodeJSHTTP伺服器
- 抵禦中間人攻擊:Win10斯巴達瀏覽器將支援HSTSWin10瀏覽器
- DDoS攻擊工具HOIC分析
- KaliLinux中的十大WiFi攻擊工具介紹LinuxWiFi
- Kali Linux中前十名的Wifi攻擊工具LinuxWiFi
- 史上最牛SQL隱碼攻擊SQL
- windows中好用的工具Windows
- MySQL隱碼攻擊工具sqlsusMySql
- 網路攻擊中主動攻擊和被動攻擊有什麼區別?
- 【日常篇】DOS攻擊和DDOS攻擊之間有什麼區別?
- 關於Https安全性問題、雙向驗證防止中間人攻擊問題HTTP
- Android 中的特殊攻擊面Android
- 無線攻擊工具NETATTACK 2
- 應用服務攻擊工具clusterd
- ftp工具,6款好用的ftp工具,來自運維人員好用的ftp工具推薦。FTP運維
- “DDoS攻擊”,線上遊戲的最大敵人之一遊戲
- 無線攻擊工具MDK3常用命令大學霸IT達人
- 【譯】 沙箱中的間諜 - 可行的 JavaScript 快取記憶體區攻擊JavaScript快取記憶體
- 黑客思維看自動駕駛:史上最詳細無人車攻擊指南 | 深度黑客自動駕駛
- SQL隱碼攻擊——時間盲注SQL