fiddler post二进制数据

本文详细介绍了使用Fiddler抓包工具处理POST请求中的乱码问题,包括编码转换的方法以及如何通过curl工具POST二进制数据到服务器,并提供了具体的命令实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用fiddler抓包时,会发现抓到的post请求的data有些会以明文显示,有些会显示为乱码。这里介绍下如何post乱码数据给服务器,这里分两种情况:1、编码不对,所以显示为乱码;2、本身数据就是二进制数据(所以本篇标题并不是特别准确)。正常抓包到的数据如下图:

messy code of post data

一、编码转换

常见的乱码数据包如下图,注意下面还有一个“ FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation ” 的提示, 这个右连将AutoTruncate的勾选去掉即可。

post data binary

一些乱码实际是编码方式不对,是可以转码显示的,fiddler工具已经默认带有转码功能textwizard 。如下图所示,为了精确选取数据在,可以切到的hexview视图下,postdata和url及header头的颜色不同,右键选择后,选择copy并点击上面的textwizard图标,在下面的编码转换中选取对应的编码即可。

fiddler textwizard

不过明显,本篇截图的数据不是这种,因为从post中的url 里已经说明是mobile/binary 。如果是普通的数据,转换完成后和其他post方法一样,直接post提示给服务器即可。

二、post二进制包

由于url和header头信息显示的为蓝色,postdata为黑色(fiddler做的还是很贴心的,在右边栏的数据预览区也可以看到),这里选择postdata右键save selected bytes to file ,将刚刚选择的部分保存为文件,刚刚截取的 url为高德地图里的地址位置数据。这里我保存为gps.dat 。

post hexview data

接下来可以使用牛X的curl 来先简单的模拟先服务器发送二进制数据文件,可以先看下curl与postdata相关的命令部分如下:


 
  1. [root@361way 06]# curl --help
  2. -d, --data DATA HTTP POST data (H)
  3. --data-ascii DATA HTTP POST ASCII data (H)
  4. --data-binary DATA HTTP POST binary data (H)
  5. --data-urlencode DATA HTTP POST data url encoded (H

具体先服务器post的指令如下:


 
  1. curl -H 'Accept-Encoding: gzip' -H 'gzipped: 1'
  2. -H 'X-INFO: H4sIAAAAAAAAAAGQAW/+XtQhvCPct7zVMxyLN99W8LpeZsp+NgrIVHgOKcPysNdeSoCI+xxHUF1iAE8shjdsvDy7nyZojL4ZNIRSqxhLy7C+tx+lAh8f7mPmrNZFgnLOKl59JIhRoJt4HU8x29cKbyeK/59UgA2Fwco2682Jp/hXEGJi0KlxrCUCq5/1zQc/mxOEUlOG6dzYEgpfEfVw0HX/sIreDMVwrVvtRHjqm0aCTO8cYBA/MwSqN11xMZybP+qFQsmo0l1hiQZNrPJzCVV/15qfLDAvdZNyw3EwhB0gh+cS9qfL9/tyh4kHqi2Td1+hPdb1D3TPBnUqzUlbHuxEVE7AsF3e9d6SbkWi81uX2eT8B2exemrva6ogAJmI6d4WXMA7cfvXsGm6AMr4+KdDY8Z8ZruMTjm7Vcfl7ACpVIWgGpdyWCn/XPjjtEYVvEw9TMMgPyIYAiZiigymzPFfMbvyiUpjFsAiuEizaSyIK4ClXFYEwI1pVt99kcCFPqQmHkqqwUtURiBvHkIu3iMASOnkms6RglCrV/OQ7RhvfUGQAQAA'
  3. -H 'X-BIZ: {"ex":"bW9kPVBFLVVMMDAmc3Y9NC40LjImbnQ9V0lGSSZucD3kuK3lm73ogZTpgJo="}'
  4. -H 'KEY: 794ada43965074a9fb56e21c3497929d' -H 'enginever: 4.2'
  5. -H 'User-Agent: AMAP_Location_SDK_Android 1.4.0'
  6. -H 'ts: 1465955922810' -H 'scode: 71ca63b846f3ab98b2242293f0a86ca7'
  7. -H 'ec: 1' -H 'Content-Type: application/octet-stream' -H 'Connection: Keep-Alive'
  8. --data-binary @gps.dat http://apilocate.amap.com/mobile/binary | gunzip

注意,这里的-H后面跟的header信息 ,@符号后面跟的是刚刚保存的gps.dat数据。特别需要注意是的管道给 gunzip 命令,由于这个请求后的回包是经过gzip压缩的,这个从header头里是可以看出的,所认返回的结果是乱码和fiddler上查看的结果xml 格式不同,加上gunzip命令后会自动执行解包动作,输出的结果会和fiddler里抓包的返回值一致。如下图:

curl post

 

三、写在最后

本篇关于二进制post的部分就先到这里,而且linux 的curl 工具也是相当的强大的,只不过书写时看起来不够美观而已,后面有时候会专门再理一个篇幅做urllib2、pycurl、request等python常同模块下post文件到服务器的写法。

### 如何使用 Fiddler 抓取并解密 HTTPS 加密数据 Fiddler 是一款功能强大的 HTTP/HTTPS 协议调试工具,能够捕获和分析网络流量。为了抓取并解密 HTTPS 流量,需要进行一些特定的配置。 #### 配置步骤说明 1. **启用 HTTPS 解密** 在 Fiddler 中,默认情况下不会自动解密 HTTPS 请求。要实现这一目标,需进入 `Tools` -> `Options` -> `HTTPS` 页面,勾选 `Decrypt HTTPS traffic` 选项[^4]。这一步会使得 Fiddler 成为中间人攻击的角色,从而允许其拦截并解密 HTTPS 数据流。 2. **安装根证书** 当启用了 HTTPS 解密后,Fiddler 会在本地生成一个自签名的 CA 根证书,并将其用于签发伪造的目标网站证书。因此,必须手动信任该根证书才能正常浏览网页而不报错。具体操作是在弹出提示时点击 `Trust Root Certificate` 并按照向导完成安装过程[^1]。 3. **处理应用程序的信任机制** 对于某些移动应用或者桌面程序来说,它们可能内置了自己的 SSL Pinning 功能来防范此类中间人攻击行为。如果遇到这种情况,则即使完成了上述两步也可能无法成功抓到完整的明文信息。此时可考虑通过修改 APK 文件移除校验逻辑或是寻找其他绕过方法[^2]。 4. **设置代理环境变量** 如果目标是非浏览器类的应用软件,则还需要额外指定系统的 HTTP(S)_PROXY 参数指向 localhost:8888 (默认端口号),以便让所有的外部联网请求都经过 Fiddler 的过滤器。 ```bash set http_proxy=http://localhost:8888 set https_proxy=http://localhost:8888 ``` 5. **验证配置效果** 经过以上调整之后重新运行测试用例,在 Fiddler 主界面应该可以看到详细的 GET/POST 方法对应的 URL 及参数列表等内容展示出来;同时对于 POST 类型提交过来的大块二进制文件也可以借助右侧栏位中的 Inspectors 查看具体内容[^3]。 --- 以下是基于 Python 编写的简单脚本示例,演示如何模拟发送带加密负载的消息并通过 Fiddler 进行监控: ```python import requests proxies = { 'http': 'http://127.0.0.1:8888', 'https': 'https://127.0.0.1:8888' } response = requests.get('https://www.example.com', proxies=proxies, verify=False) print(response.text) ``` 注意:这里的 `verify=False` 设置是为了忽略因未导入受信CA而导致的身份认证失败警告消息。 --- #### 注意事项 尽管本文介绍了利用 Fiddler 实现对 HTTPS 数据流的有效捕捉方式,但在实际运用过程中仍需遵循相关法律法规以及道德准则,不得擅自窥探他人隐私或侵犯企业信息安全边界。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值