You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不编码通过HTTP协议传输文件?PNG传输导出问题求助

问题解决:从Wireshark中提取multipart/form-data传输的PNG文件

首先纠正你的误解:multipart/form-data并不是加密文件,它只是把表单内容(包括文件)拆分成多个带分隔符和头部的块来传输,所以直接导出整个POST请求的内容会包含这些额外的分隔信息,自然无法识别为PNG。

正确的提取步骤如下:

  • 在Wireshark中定位到对应HTTP POST请求的数据包,展开Hypertext Transfer Protocol节点,找到请求体里的Multipart Form Data部分。
  • 找到对应PNG文件的块:这个块会带有Content-Disposition: form-data; name="datafile"; filename="xxx.png"的头部,下方会有Media Type: image/png的标识。
  • 展开该块的二进制数据区域(通常显示为Data或Binary Data),右键点击这部分内容,选择Export Packet Bytes...,保存文件时后缀设为.png,就能得到完整的原始PNG文件。

如果想简化后续提取,也可以用application/octet-stream类型直接发送纯PNG数据:

  • 比如用curl命令:curl -X POST --data-binary "@your-file.png" http://your-apache-address/,此时POST请求体就是纯PNG内容,直接导出整个请求体即可。
  • 若要用HTML表单,需将enctype改为application/octet-stream,但浏览器会把文件内容作为表单数据发送,需要后端对应处理,不如直接在Wireshark中提取multipart块更省心。

内容的提问来源于stack exchange,提问作者XanbleX 72

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:15:34