首页 > 其他分享 >fiddler post二进制数据

fiddler post二进制数据

时间:2023-03-28 14:33:07浏览次数:32  
标签:fiddler 二进制 乱码 -- post data curl


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

fiddler post二进制数据_HTTP

一、编码转换

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

fiddler post二进制数据_数据_02

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

fiddler post二进制数据_数据_03

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

二、post二进制包

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

fiddler post二进制数据_数据_04

接下来可以使用牛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里抓包的返回值一致。如下图:

fiddler post二进制数据_服务器_05

 

三、写在最后

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

标签:fiddler,二进制,乱码,--,post,data,curl
From: https://blog.51cto.com/u_14523369/6154785

相关文章

  • 调用post接口出现参数反序列化失败
    一、背景提供给其他产商一个post类型接口,参数类型是json入参如:{"name":"test2","age":17,"address":"四川成都","phone":"13281234456"}二、问......
  • 3-1初识HTTP|3-3HTTP报文|3-5HTTP方法|3-7GET和POST方法的对比|3-9状态码
    HTTP是什么超文本传输协议(HyperTextTransferProtocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息......
  • Fiddler 汉化补丁
    汉化过程:1.安装Fiddler,比如我的Fiddler安装在:D:\Programs\Fiddler2.将FiddlerTexts.txt复制到D:\Programs\Fiddler\3.将FdToChinese.dll复制到D:\Programs\Fiddler\Scr......
  • 十进制,二进制,十六进制转换
    1十进制转换二进制(说明:十进制用各个方面进行相加,2的几次方后面就有几个零,然后各个数字相加,得到的结果就是二进制结果)二进制转换十进制反之2.二进制转换十六进制(11......
  • Qt 利用Fiddler提高安装速度
    我要安装的环境是vs2019+qt5。安装完vs2019后,直接安装qt5发现非常慢。网上搜了下,要用Fiddler,但安装过程中还是有问题,后通过来回切换代理解决问题,记录如下:国内有几个大......
  • Fiddler 抓包工具下载与安装
    一、Fiddler介绍1.Fiddler简介Fiddler是一款免费、灵活、操作简单、功能强大的HTTP代理工具,是目前最常用的HTTP抓包工具之一。可以抓取所有的HTTP/HTTPS包、过......
  • Elasticsearch 学习--安装(windows版本),基本操作(使用Postman)
    Elasticsearch学习--安装(windows版本),基本操作(使用Postman)2.1Elasticsearch安装2.1.1下载软件Elasticsearch的官方地址:https://www.elastic.co/cn/Elasticsearch......
  • PostgreSQL+PostGIS扩展 ogr2ogr命令导入gdb地图数据
    实现将arcgis支持的.gdb中的数据和qgis支持的.gpkg中的数据导入到Postgres数据库中第一步:安装PostgreSQL安装好后自带pgAdmin管理工具相当于是一个图形管理工具第二步:......
  • postman抓包之移动端(安卓和iOS)
    Postman抓包移动端1、上篇讲了使用postman抓包浏览器数据,本篇将下使用postman抓包手机端的数据请求方法;2、好了,废话不多说进入正题:就是自己开始捣鼓时,也是现在网上搜......
  • Postman抓包浏览器请求数据步骤-傻瓜式操作
    1、安装chrome插件(postmanInterceptor插件,在任意插件网站都可搜到,下载安装到浏览器即可),该插件可协助postman捕获https请求   2、安装postmanpostman安装步骤,自行......