溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mitmproxy怎么安裝使用

發(fā)布時(shí)間:2021-12-17 14:45:11 來(lái)源:億速云 閱讀:205 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“mitmproxy怎么安裝使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“mitmproxy怎么安裝使用”吧!

mitmproxy 是 man-in-the-middle attack proxy 的簡(jiǎn)稱,譯為中間人攻擊工具,可以用來(lái)攔截、修改、保存 HTTP/HTTPS 請(qǐng)求。做爬蟲(chóng)離不開(kāi)這些工具,特別是基于APP的爬蟲(chóng)。mitmproxy 以命令行終端形式呈現(xiàn),操作上類似于Vim,同時(shí)提供了 mitmweb 插件,是類似于 Chrome 瀏覽器開(kāi)發(fā)者模式的可視化工具。

它是一款基于Python開(kāi)發(fā)的開(kāi)源工具,最重要的是它提供了Python API,你完全可以通過(guò)Python代碼來(lái)控制請(qǐng)求和響應(yīng),這是其它工具所不能做到的,這點(diǎn)也是我喜歡這個(gè)工具的原因之一。

安裝

sudo pip3 install mitmproxy

啟動(dòng)

mitmproxy
#或者指定端口
mitmproxy -p 8888

啟動(dòng) mitmproxy 之后,默認(rèn)開(kāi)啟8080端口, mitmproxy 命令不支持Windows平臺(tái),需要使用 mitmdump 或者 mitmweb 命令代替。Windows系統(tǒng)也可以在官網(wǎng)下載它的EXE文件進(jìn)行安裝。

手機(jī)或者瀏覽器設(shè)置好代理之后,就可以進(jìn)行抓包分析了,打開(kāi)瀏覽器訪問(wèn)某個(gè)網(wǎng)址,mitmproxy 看到的效果是:

mitmproxy怎么安裝使用

當(dāng)前一共有136個(gè)請(qǐng)求,當(dāng)前選擇的是第16個(gè)請(qǐng)求,請(qǐng)求方法是 GET, 返回的狀態(tài)碼是200,代理的端口是8080,通過(guò) J、K 鍵可上下切換到不同的請(qǐng)求,回車可以看到當(dāng)前選中的請(qǐng)求詳情,包括三部分,Request和Response還有 Detail

mitmproxy怎么安裝使用

mitmproxy 快捷鍵

? 幫助文檔  
q 返回/退出程序 
b 保存response body 
f 輸入過(guò)濾條件
k 上
j 下
h 左
l 右
space 翻頁(yè)
enter 進(jìn)入接口詳情
z 清屏
e 編輯
r 重新請(qǐng)求

HTTPS 抓包配置

對(duì)于HTTPS請(qǐng)求,為了能正常抓到請(qǐng)求,需要先安裝證書(shū)。沒(méi)安裝證書(shū)的請(qǐng)求看到的效果是這樣的。

mitmproxy怎么安裝使用

打開(kāi)網(wǎng)址 http://mitm.it , 選擇匹配的平臺(tái),下載 HTTPS 證書(shū)。并按照對(duì)應(yīng)的步驟進(jìn)行安裝

mitmproxy怎么安裝使用

mitmweb

$ mitmweb

啟動(dòng) mitmweb 命令后,會(huì)有一個(gè)類似Chrome開(kāi)發(fā)者工具的Web頁(yè)面,功能上類似mitmroxy,一樣可以查看每個(gè)請(qǐng)求的詳情,包括請(qǐng)求、響應(yīng),還可以對(duì)請(qǐng)求和響應(yīng)內(nèi)容進(jìn)行修改,包括過(guò)濾、重新發(fā)送請(qǐng)求等常用功能。

mitmproxy怎么安裝使用

mitmdump

$ mitmdump -s script.py

mitmdump 命令最大的特點(diǎn)就是可以自定義腳本,你可以在腳本中對(duì)請(qǐng)求或者響應(yīng)內(nèi)容通過(guò)編程的方式來(lái)控制,實(shí)現(xiàn)數(shù)據(jù)的解析、修改、存儲(chǔ)等工作(代碼可左右滑動(dòng))

# script.py
from mitmproxy import http

def request(flow: http.HTTPFlow) -> None:
   # 將請(qǐng)求新增了一個(gè)查詢參數(shù)
   flow.request.query["mitmproxy"] = "rocks"

def response(flow: http.HTTPFlow) -> None:
   # 將響應(yīng)頭中新增了一個(gè)自定義頭字段
   flow.response.headers["newheader"] = "foo"
   print(flow.response.text)

當(dāng)你在瀏覽器請(qǐng)求 http://httpbin.org/get ,看到的效果:

mitmproxy怎么安裝使用

到此,相信大家對(duì)“mitmproxy怎么安裝使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI