python使用mitmproxy和mitmdump抓包在电脑上抓包(二)

在我的上篇文章中,主要记录如何安装mitmproxy和抓取https流量。参考链接:

python使用mitmproxy和mitmdump抓包在电脑上抓包-CSDN博客

本篇主要使用python配合mitmdump来抓包和处理返回包,更加灵活,这也是mitmproxy(mitmdump)的最强大之处(其抓包、分析包不如fiddler、charles直观方便)。

概要就是:

管理员运行cmd,然后运行mitmdump -s xxx.py -p 8889(8889是端口,被监控的浏览器的代理127.0.0.1:8889或者被监控的手机的代理198.x.x.x:8889,要设置为8889端口才行),xxx.py为自己编写的抓包文件,参数-s就是指定一个脚本来处理截获的数据。

如果xxx.py中要将符合条件的内容抓取到一个txt中,最好写绝对路径,如D:/cap.txt。

下面是一个最简单的xxx.py代码,用于抓取手机某宝直播间的弹幕的用户昵称和发言内容。(如何在手机设置mitm在下篇记录python使用mitmproxy和mitmdump抓包在手机上抓包(三)-CSDN博客,这里主要是为了演示一个xxx.py的写法)

# -*- coding: utf-8 -*-
from mitmproxy import ctx
import json

#解析数据,获取内容
def deal_json(str):
    dm_json=json.loads(str)
    for x in dm_json['data']['comments']:
        y=str(x['publisherNick']+'-'+x['content'])+'\n'
        ctx.log.error(y)
        fh = open('D:/cap.txt', 'a')
        fh.write(y)
        fh.close()

#获取含有指定字符串的请求包的响应内容
def response(flow):
    if 'https://acs.m.taobao.com/gw/mtop.taobao.iliad.comment.query.latest/1.0/?data=' in flow.request.url:
        text = flow.response.get_text()
        deal_json(text)

在手机上设置好代理以后,电脑上cmd里运行mitmdump -s xxx.py -p 8889,某宝直播的弹幕数据就会被电脑上的mitm中间人捕获(配合手机自动化更强大参考文章python使用uiautomator2操作雷电模拟器_小小爬虾的博客-CSDN博客),并通过 xxx.py将指定内容存入D:/cap.txt文件中。

 运行结果如图:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用mitmproxy库来实现Python中的代理功能。首先,你需要创建一个名为addons.py的文件,并在其中编写以下代码: ```python from mitmproxy import ctx class Counter: def request(self): ctx.log.info('we have seen') with open('1.txt', 'a', encoding='utf-8') as f: f.write('we have seen') addons = [ Counter() ] ``` 然后,在命令行中执行以下命令来启动mitmdump并加载addons.py文件: ``` mitmdump -s addons.py ``` 这样,你就可以拦截任意请求并进行处理了。如果遇到了`ImportError: cannot import name 'soft_unicode' from 'markupsafe'`的错误,可以尝试更新markupsafe库的版本为2.01。 总结来说,mitmproxy不仅可以用于请求拦截,还可以用于正向和反向代理,以及中间人攻击等场景。在工作中,我们经常会使用抓包工具,但在一些自动化操作中无法进行手动抓包时,可以使用mitmproxy对本地代理进行请求拦截,从而过滤出我们想要的接口或进行中间人攻击操作。 在使用mitmdump启动后,会在`C:\Users\85025\.mitmproxy`目录下生成一些证书文件,这些文件的作用如下: - `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平台 - `mitmproxy-dhparam.pem`:PEM格式的秘钥文件,用于增强SSL安全性 这些证书文件可以用于配置SSL代理,以实现更安全的通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值