數據來源:APP端請求,mitmproxy抓包並查看
what is mitmproxy ?
mitmproxy is a free and open source interactive HTTPS proxy
====================window 下安裝 mitmproxy===============================
前提:有python3 環境
1.pip install mitmproxy==5.0.1
Successfully installed cryptography-2.4.2 ldap3-2.6.1 mitmproxy-5.0.1 proto-0.12.0
2、查看版本:mitmweb --version
C:\Users\ThinkPad>mitmweb --version
Mitmproxy: 5.0.1
Python: 3.6.1
OpenSSL: OpenSSL 1.1.0j 20 Nov 2018
Platform: Windows-10-10.0.14393-SP0
3.手機和電腦都訪問 http://mitm.it/
4.window下訪問並指定端口:mitmweb -p 9999
C:\Users\ThinkPad>mitmweb -p 9999
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:9999
交互界面地址為:http://127.0.0.1:8081/
5.手機上配置代理
6.手機上訪問要抓包的業務,http://127.0.0.1:8081/#/flows 在如下頁面,即可查看抓出來的Https接口 並且header、request、response信息都正常查看。
==============================遇到的問題=============================
1.cmd 輸入mitmweb報錯:
C:\Users\ThinkPad>mitmweb
Error starting proxy server: OSError(10013, '以一種訪問權限不允許的方式做了一個訪問套接字的嘗試。', None, 10013, None)
原因:端口被占用 mitmproxy 默認代理端口是8080,可以使用 -p 命令指定一個端口並啟動
解決辦法:修改端口 mitmweb -p 9999
2.AttributeError: module 'asyncio' has no attribute 'WindowsSelectorEventLoopP
之前直接使用pip install mitmproxy 下載的是最新版本的 mitmproxy-5.2 導致報錯
解決辦法:pip install mitmproxy==5.0.1
參考如下鏈接: https://www.pythonf.cn/read/128085 問題得以解決
============================需要注意的點=====================
注意在 Windows 上不支持 MitmProxy 的控制台接口,但是可以使用 MitmDump 和 MitmWeb。
windows 使用mitmweb進行抓包
Linux 使用mitmproxy 進行抓包