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 程序。注意文件的命名就好

 

posted @ 2023-05-10 13:41  PKGAME  阅读(285)  评论(0编辑  收藏  举报