• HappyWolf503

    大家好,分享一下我最近做的开源项目 sniffy 。这是一个跨平台的网络抓包与接口调试工具,支持 Windows 、macOS 和 Linux ,Apache 2.0 协议开源。

    三年前我就有做一款抓包工具的想法,但前端能力一直是垃圾,得益于 LLM 的兴起,终于用 Go + Wails v3 + React 把项目做了出来。

    相关链接如下:

    代码仓库:github.com/mintfog/sniffy https://github.com/mintfog/sniffy 大家多点点 Star

    客户端下载:gosniffy.com/download https://gosniffy.com/download/

    使用文档:gosniffy.com/docs https://gosniffy.com/docs/

    主界面是抓包工作台,用来集中查看实时捕获的流量列表和单条请求响应详情(爽抄 Reqable ):

    在日常抓包和接口调试中,主要可以完成以下操作:

    流量查看与筛选:捕获 HTTP/HTTPS 请求,检查请求头、消息体、状态码与耗时,并支持按条件过滤目标流量。

    流式会话查看:除了常规请求,也可以直接查看 WebSocket 、SSE 和 gRPC 的流式通信内容。

    请求构造与重发:支持对抓到的请求进行编辑和重发,或导入 cURL 命令发送请求并查看响应。

    条件改写与 Mock:通过配置匹配条件自动改写请求或响应,支持增加延迟、重定向、阻断请求等等。

    断点拦截:在请求发出或响应返回时暂停流量,手动修改内容后再放行,方便临时验证边界情况。

    JavaScript 脚本插件:支持编写脚本以处理自定义的请求与响应逻辑,在一些复杂改包场景下使用

    无界面运行:支持以 Headless 模式运行,可通过 REST API 管理和用 WebSocket 订阅事件(详见 Headless 文档 https://gosniffy.com/docs/headless/)。

    请求构造器界面,用于编辑请求参数、导入 cURL 、重发请求并查看响应:

    重写规则配置界面,用于设置流量匹配条件和对应的修改动作:

    内置插件编辑器界面,用于编写与管理 JavaScript 插件:

    当前项目还处于早期阶段,还有不少需要打磨的地方。提示一下,解析 HTTPS 流量需要先在目标设备上安装并信任根证书;另外因还未购买苹果开发者证书,macOS 安装包目前尚未经过 Apple 公证,首次打开时遇到拦截可以到「系统设置 - 隐私与安全性」点击仍要运行

    欢迎有抓包和接口调试需求的 V 友下载试试。如果在使用中遇到 Bug ,或者有功能上的建议,欢迎在 GitHub 提 Issue 交流,也欢迎直接回复聊聊你的使用感受,环境大家多多点击 Star

    图片
    图片
    图片
    图片

    主楼
  • h4de5

    建议增加--emudhra 模式。

    #1
  • fdong26

    感觉意义不大吧,目前主流浏览器都已经对 eMudhra 进行了封锁,其他软件也都在逐步封锁,如果想玩一下的话可以使用软件内的导入证书功能,可以使用自定义的根证书。

    #2
  • kekeones

    winhttp 发起的请求抓不到。

    #3
  • fdong26

    目前只支持设置为系统代理形式,会有很多软件不遵循系统代理,可以在软件的代理设置手动指定一下,后面迭代也会添加 tun (虚拟网卡) 模式,那样就能确保所有软件都走代理。

    #4
  • IIce

    建议 linux 加一个 appimage 的包。

    #5
  • IIce

    #5 reqable 没会员的话还是有一些限制的,比如二级代理切换。

    #6
  • fdong26

    #5 浅色下配色确实怪怪的,因为前期一直在完善功能,对页面效果没怎么在意,近期已经在逐步优化软件页面效果了,会重新设计一下 #6 是的,毕竟是商业软件

    #7 好的收到,下个版本加上。

    #7
  • ydong

    还是用习惯 reqable 懒得换了 而且你这个整体配色有点说不上来的怪。

    #8
  • fdong26

    好的,我想一下怎么实现。

    #9
  • fdong26

    #9 v0.1.0-beta.6 版本已经添加了导出脱敏,可以更新试一试。

    #10
  • syahd

    能提个小需求吗,在导出 har 的时候支持脱敏,例如 cookies,username 等等字段,支持识别可能是敏感的字段再把对应的 value 脱敏。

    #11
  • iorilu

    我觉得不错

    毕竟开源的, 功能和 reqable 差不多了把。

    #12
  • WildPanda166

    HTTPS抓包需要安装信任证书这点可能会影响用户体验,在企业环境中部署会比较麻烦。

    #13
  • syahd

    谢谢,我试试看看。

    #14
  • CosmicLynx

    这个抓包工具的请求构造器和断点拦截功能对API调试特别实用,比Postman直观多了。

    #15

发表回复

登录后回复