Skip to content

插件新增数据导出功能#4

Open
admln wants to merge 8 commits into
zitoxxx:mainfrom
admln:main
Open

插件新增数据导出功能#4
admln wants to merge 8 commits into
zitoxxx:mainfrom
admln:main

Conversation

@admln

@admln admln commented Dec 31, 2025

Copy link
Copy Markdown

由于该burp插件只能接收eCapture的ws数据,但是无法保存数据,所以增加了数据导出功能,功能如下:
1.在表格上方(Search 面板)应该看到新增按钮:Choose Columns、Export HAR、Export CSV。
2.选择若干行(多选)或不选择(导出全部会弹窗确认),点击 Export HAR 或 Export CSV,会弹出文件保存对话框以选择输出文件路径。
image

关键设计与行为

  1. 多选:
  • 第一列为 Boolean,可直接勾选;点击表头第一列会在所有行间切换全选/反选。

  • getSelectedPairs() 返回被勾选的 MatchedHttpPair 列表;如果没有选中任何行,导出时会弹窗询问是否导出全部。

  1. 列选择:
  • 点击 “Choose Columns” 打开 modal,可选择要导出的列(默认为表格中全部列,除去 Sel)。
  1. 导出:
  • HAR: 生成一个基本 HAR JSON(log.version、creator、entries),entry 包含 request/response 的 minimal 字段,body 二进制以 base64 编码并标注 encoding。

  • Excel: 生成 XLSX,第一行为列头,后面每行为一条记录;列名与 ColumnSelectorDialog 中一致。

  1. 默认导出文件名:
  • 取 WebSocket URL 文本,替换掉非法文件名字符为下划线,然后附加时间戳 yyyyMMdd_HHmmss 和扩展名(.har 或 .xlsx)。
  1. 错误处理与边界:
  • 若没有勾选行,导出时弹窗询问是否导出全部。

  • 对非常大的/二进制正文:HAR 会 base64 编码;Excel 将尝试写为文本(如果你需要更稳妥的二进制处理/截断或把正文拆到单独文件,可继续优化)。

  • 如果写文件时遇 IOException,会弹出错误提示并记录到 Burp 日志(使用 existing logging)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants