mitmproxy、mitmdump、mitmweb 比较 启动 mitmdump,用 mitmproxy、mitmdump、mitmweb 这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同 mitmproxy 会提供一个在终端下的图形界面,具有修改请求和响应,流量重放 ..

mitmdump 抓包

mitmproxy、mitmdump、mitmweb 比较

mitmdump

    -p PORT --port PORT # 设置 mitmproxy 的代理端口
    
    -T --transparent # 设置透明代理
    
    --socks # 设置 SOCKS5 代理
    
    -s "script.py --bar" # 执行脚本,通过双引号来添加参数
    
    -t FILTER # 过滤参数

实例

    mitmdump -s index.py -p 8888

mitmweb

会启动一个 Web 界面,127.0.0.1:8081

    mitmweb -s index.py -p 8888

mitmproxy 模块使用

安装

    pip install mitmproxy

脚本使用

    addons = [
            Counter()  # Countrer是类实例,实现了mitmproxy的事件
        ]
    def request(flow):

    def response(flow):
    flow.request.url
    flow.request.headers
    flow.response.text
    proxy = ("114.240.101.242", 5672)
    flow.live.change_upstream_proxy_server(proxy)
    def request(flow):
        
        if flow.request.url.startswith("https://www.baidu.com"):
            requesturl = flow.request.url
            requestheaders = str(flow.request.headers)
            data = dict()

            url = "http://xxxx/url"
            data["url"] = requesturl
            data["debug"] = False
            data["headers"] = requestheaders
            
            # 通过redis传递请求
            sa(data)

证书

    mitmproxy-ca.pem, PEM格式的证书私钥
    mitmproxy-ca-cert.pem PEM格式证书,适用于大多数非Windows平台
    mitmproxy-ca-cert.p12 PKCS12格式的证书,适用于大多数Windows平台
    mitmproxy-ca-cert.cer 与 mitmproxy-ca-cert.pem, 相同(只是后缀名不同),适用于大部分Android平台

使用步骤

  1. 安装 mitmdump 或 mitmproxy
  2. 启动,然后安装证书
  3. 监听 mitmdump -s index.py -p 8888
  4. 监听 8888 端口
  5. 设置代理或 VPN(drony),指向 mitmproxy,如果是本机,则指向 127.0.0.1:8888(Drony 中的 host 和 port)
  6. 浏览器代理
  7. 手机模拟器代理
  8. 手机 wifi 代理
  9. 修改脚本
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    76 引用 • 183 回帖
回帖
请输入回帖内容...