mitmdump相关
一、mitmdump简介
二、安装
三、问题
一、mitmdump简介
当写爬虫时,往往最直接的就是抓包,破解接口,然后串改,然后获取数据。当遇上反爬手段比较严格,比如在参数里加入对所有参数动态加密就难了。
有两种选择路线,要么破解app,拿到加密逻辑。(难度很高,而且目标得兼容旧版本,不然新版本更新,强制更新后又得再次破解)
还有一种就是使用手机通过模拟人的操作,在数据传输时使用代理,在中间截取数据,这样做就可以不用破解app,但是代价就是爬取效率就相当低。
而mitmdump就是python写的比较好用的中间代理。
二、安装
执行命令
pip install mitmdump
安装完成后,执行命令,就会开启8080端口的代理,并且会生成证书在用户目录下
mitmdump
证书目录:
也可以通过链接代理后,访问 mitm.it 在网页上下载
2.手机连接一般就是在wifi里面设置ip地址跟端口,就可以使用代理了。
3.使用python脚本,新建文件
class GetMa: def __init__(self):# 设置上游代理 def request(self, flow: mitmproxy.http.HTTPFlow): pass # flow.request.headers['User-Agent'] = 'MitmProxy' # print('heads------', flow.request.headers) def response(self, flow: mitmproxy.http.HTTPFlow): # if not self.globalData['catching']: # return
addons = [
GetMa()
]
然后执行命令
mitmdump -s test.py
test.py要用你自己新建的文件名
request,是设置请求头,response是返回的信息
如果需要过滤接口
def response(flow: mitmproxy.http.HTTPFlow): url = 'https://***.***.**/**'if flow.request.url.startswith(url): print('这里是目标接口')
三、问题
1.命令问题,当文件夹中有 mitmdump.py文件时,执行 mitmdump -s mitmdump.py
会导致执行失败,命令行可能被动执行了mitmdump.py文件,而没有执行mitmdump 程序。注意文件的命名就好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义