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