[功能介紹]HTTP代理抓包工具介紹
有哪些好用的HTTP代理抓包工具?如果你分不清哪個工具比較好用?又有哪個比較合適使用?那么,就不要錯過IP海今天分享的文章了。
常見的http代理有:Fiddler、Charles以及下來IP海要介紹的Mitmproxy,Mitmproxy小巧強大,最為吸引的是它支持加入Python腳本,方便開發人員直接處理監聽到的數據。
安裝:
這步比較簡單,直接pip install mitmproxy,或者自行下載安裝包。
使用:
window下不支持使用mitmproxy,但可以使用另外兩個附帶的組件:mitmdump和mitmweb,二選一在控制臺輸入,代理開啟后默認的監聽端口為8080。mitmdump是純控制臺輸出的監聽形式,mitmweb則對應有相關的web監聽界面。
更改監聽端口?添加-p參數,如mitmdump -p 10000;想指定py腳本?帶上-s參數即可,如mitmweb -s out.py;完整的參數信息及使用應該查看官網說明,下來的示例中會介紹Python腳本的使用。
示例:
mitmproxy中定義了一系列完整的監聽流程事件,通常這并不需要我們關注太多,常見的Events莫過于request和response,完整的mitmproxy事件請點擊這里查看,下面的簡單示例或許對你有幫助:
import mitmproxy.http
def request(flow: mitmproxy.http.HTTPFlow):
"""
The full HTTP request has been read.
"""
flow.request.headers["User-Agent"] = "Chrome/66.0.3497.100"
pretty_url = flow.request.pretty_url
print(pretty_url)
def response(flow: mitmproxy.http.HTTPFlow):
"""
The full HTTP response has been read.
"""
content = flow.response.content
print(content)
使用總結:
在功能上多數抓包軟件大同小異,重要的還是得根據場景來選擇最合適的;我當初接觸到mitmProxy,是因為在爬取某APP數據的時候,嘗試了一段時間都沒有還原出客戶端接口加密的請求流程,后來結合使用了Appium和mitmProxy,算是部分實現了該需求。綜上,全文只是簡單淺顯的介紹了mitmproxy,而往往看官方文檔才是最完整和高效的。
IP海認為不同的抓包工具各有其特點,大家要根據不同的使用場景來進行選擇,才是最為合適的搭配。
版權聲明:本文為IP海(iphai.cn)原創作品,未經許可,禁止轉載!
Copyright © www.skldkt.com. All Rights Reserved. IP海 版權所有.
IP海僅提供中國內IP加速服務,無法跨境聯網,用戶應遵守《服務條款》內容,嚴禁用戶使用IP海從事任何違法犯罪行為。
鄂ICP備19030659號-3
鄂公網安備42100302000141號
計算機軟件著作權證
ICP/EDI許可證:鄂B2-20200106