欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python代理工具mitmproxy使用指南

 更新時(shí)間:2019年07月04日 09:03:28   作者:FOOFISH-PYTHON之禪  
這篇文章主要介紹了python mitmproxy 使用指南,mitmproxy 可以用來攔截、修改、保存 HTTP/HTTPS 請(qǐng)求。以命令行終端形式呈現(xiàn),類似于 Chrome 瀏覽器開發(fā)者模式的可視化工具,需要的朋友可以參考下

前言

mitmproxy 是 man-in-the-middle proxy 的簡(jiǎn)稱,譯為中間人代理工具,可以用來攔截、修改、保存 HTTP/HTTPS 請(qǐng)求。以命令行終端形式呈現(xiàn),操作上類似于Vim,同時(shí)提供了 mitmweb 插件,是類似于 Chrome 瀏覽器開發(fā)者模式的可視化工具。

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

安裝

sudo pip3 install mitmproxy

啟動(dòng)

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

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

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

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

mitmproxy 快捷鍵

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

HTTPS 抓包配置

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

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

mitmweb

$ mitmweb

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

mitmdump

$ mitmdump -s script.py

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

# 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 ,看到的效果:

你還可以參考這些鏈接:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?time時(shí)間格式化和設(shè)置時(shí)區(qū)實(shí)現(xiàn)代碼詳解

    Python?time時(shí)間格式化和設(shè)置時(shí)區(qū)實(shí)現(xiàn)代碼詳解

    這篇文章主要介紹了Python?time時(shí)間格式化和設(shè)置時(shí)區(qū)實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2023-02-02
  • Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法,結(jié)合實(shí)例形式分析了Python基于urllib2及cookielib模塊的http請(qǐng)求、數(shù)據(jù)傳輸及交互相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • pycharm安裝和首次使用教程

    pycharm安裝和首次使用教程

    這篇文章主要為大家詳細(xì)介紹了PyCharm安裝使用教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • ubuntu環(huán)境下python虛擬環(huán)境的安裝過程

    ubuntu環(huán)境下python虛擬環(huán)境的安裝過程

    這篇文章主要介紹了ubuntu環(huán)境下python虛擬環(huán)境的安裝搭建過程 ,需要的朋友可以參考下
    2018-01-01
  • Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法

    Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法

    這篇文章主要介紹了Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • python圖像常規(guī)操作

    python圖像常規(guī)操作

    這篇文章主要介紹了python圖像常規(guī)操作,比較全面,涉及讀取和存儲(chǔ),生成縮略圖,調(diào)整尺寸與旋轉(zhuǎn),繪制圖像輪廓等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 淺談一下Python究竟屬不屬于嵌入式語(yǔ)言

    淺談一下Python究竟屬不屬于嵌入式語(yǔ)言

    這篇文章主要介紹了淺談一下Python究竟屬不屬于嵌入式語(yǔ)言,大家普遍的認(rèn)為C與C++才是標(biāo)準(zhǔn)的嵌入式語(yǔ)言,那么現(xiàn)在大火的Python算是一種嵌入式語(yǔ)言嗎,需要的朋友可以參考下
    2023-04-04
  • Python實(shí)現(xiàn)隨機(jī)森林RF模型超參數(shù)的優(yōu)化詳解

    Python實(shí)現(xiàn)隨機(jī)森林RF模型超參數(shù)的優(yōu)化詳解

    這篇文章主要為大家詳細(xì)介紹了基于Python的隨機(jī)森林(Random Forest,RF)回歸代碼,以及模型超參數(shù)(包括決策樹個(gè)數(shù)與最大深度、最小分離樣本數(shù)、最小葉子節(jié)點(diǎn)樣本數(shù)、最大分離特征數(shù)等)自動(dòng)優(yōu)化的代碼,感興趣的小伙伴可以了解一下
    2023-02-02
  • Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)

    Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)

    本文主要介紹了Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上

    PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上

    這篇文章主要介紹了PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上的相關(guān)知識(shí),本文通過代碼加文字說明的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04

最新評(píng)論