本文介绍的是如何使用Fiddler工具抓取Android应用的HTTP协议的数据包

工具

  • Genymotion模拟器
  • 笔记本电脑一台(Win7)
  • Fiddler(v4.6.2),下载地址:http://pan.baidu.com/s/1sjW9geT

环境配置

第一步:将笔记本电脑连接网络(有线和无线均可)

第二步:在Fiddler中设置“允许远程连接”和“默认端口”

第三步:打开“控制面板”-“网络和Internet”-“网络连接”,选中当前的活动连接,找到局域网IP地址。

第四步:设置Genymotion中的模拟器代理IP地址为192.168.1.8(上一步记录的IP),设置完后记得保存

HTTP请求:

1.  请求处理模型

2. 请求报文格式

请求行、通用信息头、请求头、实体头、报文主体

如下:

请求格式为

Method【分隔符】Request-URI【分隔符】HTTP-Version【换行】

其中:Method是请求方法,类似的方法有GET、POST、DELEFT、PUT、HEAD...常用的方法是GET、POST,GET和POST区别在于:

1、GET通过URLParams传值,POST通过报文体传值(通过Content-Type请求头分辨内容类型,常用的有:application/json,text/plain,text/html,image\png...)

2、GET传递的值不能大于2kb,POST理论上不限制大小,实际大小和服务器配置有关。

3、GET的参数很容易被看见故安全性较低,POST参数不容易被看见故安全性较高(一般用于传输用户的身份信息,常用表单、登录等)

常见的请求字段的含义:

1. HOST: 该请求的目标主机

2. ACCEPT: 客户端可接受的内容类型

3. USER-AGENT: 用户代理,一般是浏览器的信息(很多统计网站如cnzz, 51la, 就是用这个搜集用户访问数据)

4. ACCEPT-ENCODING: 可接受的编码(Android端就是用这个实现gzip压缩,优化网络请求,推荐)

5. REFRER:来源,该请求是哪个页面发起的(一般网站用这个字段实现防图片盗链,只要REFRER中的主机不是本网站,挂断请求)

3. 响应报文的格式

状态行   通用信息头   响应头   实体头   报文主体

状态行由状态码和原因分析两部分构成。其中,状态码由3位数字组成,表示请求是否被理解或被满足,用来至此自动操作;原因分析是对原文的状态码作简洁的描述,用来供用户使用。

响应报文中的状态码在进行Web应用性能测试的过程中经常遇到,说明如下:

1XX:信息响应类,表示接收到请求并且继续处理。

2XX:处理成功响应类,表示动作被成功接收、理解和接收

3XX:重定向响应类,表示为了完成指定的动作,必须接受进一步处理

4XX:客户端错误,表示客户请求包含语法错误或不能正确执行

5XX:服务端错误,表示服务器不能正确执行一个正确的请求

4. 分析”卖座APP“的请求结构

通过上述的配置,我们用Fiddler抓取到了Splash页面的请求:

http://mobileif.maizuo.com/ver4/city/37/ADInfo?agentID=baidu&channelID=31&clientID=31&revision=4.2.5&agentID=baidu

从该请求可以简单获取以下信息:

1. 该请求使用的是POST, HTTP1.1

2. 卖座接口启用了gzip优化网络请求

3. 内容长度为211个字节,并且支持UTF-8

本文待完善,如有问题,请多多指教。

Android抓包分析-fiddler版的更多相关文章

  1. *android抓包工具——fiddler抓包分析api接口

    本文地址:http://blog.csdn.net/u011733020 首先,写这个仅仅是为了学习.不是要做什么违法的事情,假设有问题,有关部门 请联系我,立刻删除. 不要查我水表. 正题:这里介绍 ...

  2. Android抓包工具Fiddler抓取数据

    1.手机端设置 2.Fiddler设置监听 Tools/Fiddler options 是否允许监听到https(Fiddler默认只抓取http格式的),首次点击会弹出是否信任fiddler证书和安 ...

  3. python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫

    用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...

  4. Android抓包方法(一)之Fiddler代理

    Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...

  5. Android抓包方法 之Fiddler代理

    1.抓包原理 Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看.修改所有的“进出”的数据.使用代理地址:127.0.0.1, 默认端口:888 ...

  6. [转]【HTTP】Fiddler(二) - 使用Fiddler做抓包分析

    本文转自:http://blog.csdn.net/ohmygirl/article/details/17849983 上文( http://blog.csdn.net/ohmygirl/articl ...

  7. [转] Android实时抓包分析 : 善用adb调试桥

    Android实时抓包分析 : 善用adb调试桥   谈到android网络抓包,很多人都能想到牛逼轰轰的神器tcpdump.方法就是在android机器上面安装tcpdump,然后通过-w参数把抓包 ...

  8. 【HTTP】Fiddler(二) - 使用Fiddler做抓包分析

    上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面.本文主要针对Fiddler的抓包处理 ...

  9. Android 抓包并通过 Wireshark 分析

    分析 Android 中 app 的网络数据交互,需要在 Android 上抓包,常用工具为 tcpdump ,用 tcpdump 生成 Wireshark 识别的 pcap 文件,把 pcap 文件 ...

随机推荐

  1. 有趣、实用的c# 游戏源码下载网站

    在游戏开发的学习或工作中,利用完好的游戏源码可以事半功倍,不仅可以逆向学习开拓思维,也可以大大减少设计周期. 那想用c#来编写游戏的话,游戏源码在哪里找呢?下面整理了几个性价比高一些的网站,推荐给大家 ...

  2. eureka-获取服务列表(各种状态)

    在刚开始做的时候也搜了下搜到的大多是下面的第一种方法,这种方法很简单,但并不是Eureka展示的那个服务列表,他只包括了注册证成功的,或者说eureka中状态为“Up”的实例列表,对于down掉的实例 ...

  3. 每天进步一点点------SOPC的Avalon-MM IP核(四) KEY_LED IP定制

    /********************************************************************************* * Company : * Eng ...

  4. 【ES6新增语法详述】

    目录 1. 变量的定义 let const 2. 模版字符串 3. 数据解构 4. 函数扩展 设置默认值 箭头函数 5. 类的定义 class 6. 对象的单体模式 "@ ES6新增了关于变 ...

  5. 讲解一下类的继承super

    class Test1(object): def __init__(self,ids): self.ids=ids class Par(Test1): def __init__(self,ids,us ...

  6. Android Studio真机无线调试

    条件 手机要和电脑处于同一局域网内(即都连同一个WiFi 或者电脑的网线另外一段连接到手机连接WiFi的路由上) 步骤 .首先将手机连接 WiFi 网络 .将手机用数据线与电脑连接,并且在电脑端 打开 ...

  7. springboot 框架 - 探究-pom文件

    一.pom文件 父项目 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ...

  8. java内存模型中工作内存并不一定会同步主内存的情况分析

    其实是为了填之前的一个坑  在一个多线程的案例中出现了阻塞的情况. https://www.cnblogs.com/hetutu-5238/p/10477875.html   其中的第二个问题,即多个 ...

  9. TM1638控制

    原理图图纸: 显示控制与读按键与寄存器的对应 驱动代码:码云:

  10. 【PAT甲级】1088 Rational Arithmetic (20 分)

    题意: 输入两个分数(分子分母各为一个整数中间用'/'分隔),输出它们的四则运算表达式.小数需要用"("和")"括起来,分母为0的话输出"Inf&qu ...