吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 547|回复: 13
收起左侧

[经验求助] python开发抓包小工具

[复制链接]
devilpanama 发表于 2024-3-26 13:55
50吾爱币
有个需求,需要抓取微信小程序返回的参数,但是由于需要登录微信,挨个让别人扫码登录又太麻烦了,就打算用python写个抓包的工具发给别人自己抓包然后直接把参数发给我就行了
但是研究了一下几个相关的库,scapy解析不了https包,mitmproxy需要命令行执行,是我搜的教程不全还是方向错了,望各位指点
我记得之前有那种活动的小工具,例如羊了个羊,应该是易语言还是啥写的,直接可以获取特定的参数,我的目标就是这样,打开抓包工具,再打开小程序,过滤指定host和path,输出响应的参数,要不要ui界面都无所谓

最佳答案

查看完整内容

有可能是mitmdump运行方式的原因,我没打包成exe使用过。 可以参考这个: 如何把mitmproxy定制好的python脚本打包使用? - 陈泽安的回答 - 知乎 https://www.zhihu.com/question/422464846/answer/1521657468

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

T4DNA 发表于 2024-3-26 13:55
devilpanama 发表于 2024-3-26 22:47
有个问题,按你的那种写法打包之后的exe会提示找不到mitmproxy脚本,是不是和mitmdump运行方式有关,除非 ...

有可能是mitmdump运行方式的原因,我没打包成exe使用过。
可以参考这个:
如何把mitmproxy定制好的python脚本打包使用? - 陈泽安的回答 - 知乎
https://www.zhihu.com/question/422464846/answer/1521657468
Focalors 发表于 2024-3-26 13:59

抓包工具通常需要使用第三方库来实现,其中较为常用的是mitmproxyScapymitmproxy是一个功能强大的中间人代{过}{滤}理工具,可以用于拦截和修改HTTP/HTTPS请求和响应,而Scapy则是一个用于网络分析和操作的库,可以构造、发送和解析网络数据包。

对于你的需求,我推荐使用mitmproxy来编写抓包工具。下面是一个简单示例,使用mitmproxy来拦截并显示特定小程序的请求和响应参数:

from mitmproxy import ctx, http

class InterceptApp:
    def __init__(self, target_host, target_path):
        self.target_host = target_host
        self.target_path = target_path

    def request(self, flow: http.HTTPFlow) -> None:
        if self.target_host in flow.request.host and flow.request.path.startswith(self.target_path):
            # 过滤指定的host和path
            # 输出请求参数
            print(f"Request Parameters: {flow.request.query}")

    def response(self, flow: http.HTTPFlow) -> None:
        if self.target_host in flow.request.host and flow.request.path.startswith(self.target_path):
            # 过滤指定的host和path
            # 输出响应参数
            print(f"Response Parameters: {flow.response.text}")

addons = [
    InterceptApp(target_host="example.com", target_path="/api"),
]

def start():
    ctx.log.info("Starting the intercepting proxy...")
    ctx.options.showhost = True
    ctx.options.showpass = True

def done():
    ctx.log.info("Stopping the intercepting proxy...")

# 启动mitmproxy
if __name__ == "__main__":
    from mitmproxy.tools.main import mitmdump
    mitmdump(["-s", __file__])

在上面的示例中,你需要将target_hosttarget_path设置为你希望拦截的小程序的主机和路径。然后,InterceptApp类中的request方法和response方法分别用于处理请求和响应,你可以在这里编写自定义的逻辑来处理参数。

请注意,mitmproxy需要在命令行中执行,但你可以将上述代码保存为一个Python脚本(例如proxy.py),然后通过命令行运行该脚本来启动mitmproxy

mitmdump -s proxy.py

这将启动mitmproxy并加载你编写的抓包工具。当你打开小程序时,它将拦截匹配目标主机和路径的请求,并输出请求和响应的参数信息。

请注意,使用抓包工具来获取他人的敏感信息可能是违法的,因此请确保你在合法和合适的情况下使用该工具,并遵守适用法律和隐私政策。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
devilpanama + 1 + 1 热心回复!

查看全部评分

T4DNA 发表于 2024-3-26 14:00
用mitmproxy就行,response截取指定url,然后获取就可以。
但是你要考虑安卓高版本需要root安装模块移动证书才能抓包https。
 楼主| devilpanama 发表于 2024-3-26 14:07
T4DNA 发表于 2024-3-26 14:00
用mitmproxy就行,response截取指定url,然后获取就可以。
但是你要考虑安卓高版本需要root安装模块移动证 ...

不用考虑移动端,让别人自己登电脑微信抓包,我试过mitmproxy,我本机测试没啥问题,但是需要命令行执行,我想的是把py打包成exe命令窗模式,打开就能抓包,而且mitmproxy是不是需要别人电脑也要安装证书

点评

抓包肯定要装证书的啊,mitmproxy可以用python执行,可以看看这个 https://www.52pojie.cn/thread-1861548-1-1.html。 windows的话就安装一下证书就可以了,但是python执行的话不建议把主程序(获取参数之后要做什  详情 回复 发表于 2024-3-26 14:19
T4DNA 发表于 2024-3-26 14:19
devilpanama 发表于 2024-3-26 14:07
不用考虑移动端,让别人自己登电脑微信抓包,我试过mitmproxy,我本机测试没啥问题,但是需要命令行执行 ...

抓包肯定要装证书的啊,mitmproxy可以用python执行,可以看看这个
https://www.52pojie.cn/thread-1861548-1-1.html
windows的话就安装一下证书就可以了,但是python执行的话不建议把主程序(获取参数之后要做什么)的逻辑写在mitmproxy代码里,会阻塞,而且没有全局变量,建议做两个程序,一个是mitmproxy获取参数,另一个就用参数执行你要干的事儿。
baihedengge 发表于 2024-3-26 15:01
很厉害很专业
 楼主| devilpanama 发表于 2024-3-26 15:19
T4DNA 发表于 2024-3-26 14:19
抓包肯定要装证书的啊,mitmproxy可以用python执行,可以看看这个
https://www.52pojie.cn/thread-18615 ...

我怎么把证书发给别人呢,我在服务器上试了,导入我自己电脑上的证书没用,得在服务器上cmd运行mitmdump再把生成的证书导入再能正常抓包,那别人电脑上没有mitmproxy库的怎么生成呢

点评

你把含mitmproxy的python程序打包后,别人运行以后就开启代{过}{滤}理了啊。开启后访问mitm.it就可以下载他自己的证书,然后安装一下就好了。  详情 回复 发表于 2024-3-26 15:59
T4DNA 发表于 2024-3-26 15:59
devilpanama 发表于 2024-3-26 15:19
我怎么把证书发给别人呢,我在服务器上试了,导入我自己电脑上的证书没用,得在服务器上cmd运行mitmdump ...

你把含mitmproxy的python程序打包后,别人运行以后就开启代{过}{滤}理了啊。开启后访问mitm.it就可以下载他自己的证书,然后安装一下就好了。
慕浟佳〃井少年 发表于 2024-3-26 18:05
我之前也想过这样的,但是不咋会python就没弄了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-22 06:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表