工作原理

先上个图

此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么。

它实际工作在本机的8888端口http代理,我们启动fiddler时,它会自动更改代理设置:

chrome中:


从此我们可以看出,只要是http的请求,在请求发起离开本机之前都会经过fiddler,当response回来,没有达到实际请求者时,也会经过fiddler:这样我们就可以在轻易的实现修改请求和响应的内容,这样我们就可以轻松的调试现网的程序。

http://www.cnblogs.com/forcertain/archive/2012/11/29/2795139.html

与其它工具的区别

firebug、IE和chrome自带的开发者工具:这是前端开发的利器了,它们监听浏览器发起的请求和给浏览器的响应,显示请求数据和响应数据,这个fiddler基本功能一致,但它只是监听,只是对请求和响应数据的记录,而fiddler完全是接管了请求和响应。

前言:对于移动端应用来说,常常是需要进行抓包分析数据参数的,Android抓包常规想到的解决方案就是通过adb、tcpdump生成抓包文件后,上传至PC端,再通过wirshark查看抓包的数据,但是,对于android应用来说,客户端与服务端的交互更多的是以REST接口服务形式的,多基于HTTP/HTTPS协议,采用tcpdump方式缺点也就比较明显:

1、手机需要root权限

2、操作过程麻烦,且wirshark查看时数据量众多需要过滤

3、分析的是dump后的文件,不是操作客户端时实时交互的数据

因此,本文介绍通过Fiddler进行android抓包,以方便快捷地实现对手机应用进行抓包分析

Fiddler简介:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。

通过Fiddler抓包过程:手机连接WLAN网络——设置HTTP代理——手机所有HTTP访问都经过Fiddler这个中介——访问外面的Web网络

一、工具下载:

Fiddler下载地址:http://www.telerik.com/download/fiddler

二、Fiddler设置
打开Fiddler,     Tools-> Fiddler Options .
切换至HTTPS面板
选中"Decrpt HTTPS traffic",设置Fiddler可以截获HTTPS请求

切换至Connections面板
选中"Allow remote computers to connect".允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

配置完后需要按提示重启Fiddler

三、手机设置HTTP代理
1.进入手机设置——无线网络——WLAN选择界面
2.长按某WLAN接入点,点击“修改网络”
3.代理设置处,选择手动,例如输入代理服务器主机名(Fiddler安装所在的机器IP):192.168.1.10,端口:8888

四、捕获HTTPS请求:
这一步是为了让Fiddler能捕获HTTPS请求。如果只需要截获HTTP请求,可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:例如安装了Fiddler的机器的IP地址是:192.168.1.10
2. 打开浏览器, 访问  http://192.168.1.10:8888, 点"FiddlerRoot certificate" 然后安装证书

五、正常使用客户端或用浏览器打开网页,如果有发起HTTP/HTTPS请求,则在Fiddler中将能看到抓取到的数据

Fiddler使用教程参见:http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html#qita
Fiddler手机抓包参考:http://www.cnblogs.com/TankXiao/p/3063871.html

http://blog.csdn.net/hunterno4/article/details/19998273

http://jingyan.baidu.com/article/2a1383289d7792074b134f69.html
http://jingyan.baidu.com/article/2f9b480d81df9241ca6cc258.html

使用Fiddler对android应用抓包的更多相关文章

  1. 使用Fiddler对android应用抓包 专题

    工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么. WinInet(“Windows Internet”)API帮助程序员使用三个常见的Inter ...

  2. 利用fiddler给android模拟器抓包

    启动模拟器 setting---wireless&networks----mobile networks----access pointnames -------------------- 然 ...

  3. 用Fiddler在Android上抓包(Http+https)

    Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点.修改请求与相应的数据等等... 抓HTTP包 安 ...

  4. Android利用Fiddler进行网络数据抓包

    最新最准确内容建议直接访问原文:Android利用Fiddler进行网络数据抓包 主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信 ...

  5. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  6. Android利用Fiddler进行网络数据抓包【怎么跟踪微信请求】

    主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. Mac 下请使用 Charles 代替 ...

  7. [转] Android利用Fiddler进行网络数据抓包

    主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. Mac 下请使用 Charles 代替 ...

  8. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总,使用mono运行filddler

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  9. MX2怎样利用Fiddler进行网络数据抓包

    首先须要保证PC与手机在同一局域网内或有独立公网IP, 下面以在同一局域网为例(保证手机能訪问到这台PC机器): 1. PC端配置 1). 安装Fiddler 2). 开启Fiddler下面功能:   ...

随机推荐

  1. HDU 1698 线段树 区间更新求和

    一开始这条链子全都是1 #include<stdio.h> #include<string.h> #include<algorithm> #include<m ...

  2. PHP 单例模式代码片段

    <?php error_reporting(E_ALL | E_STRICT); class single{ public $hash; static protected $ins = null ...

  3. 21335592 ROWS

    CREATE TABLE w_big  SELECT * FROM  ( SEELCT * FROM w_tab UNION ALL SELECT * FROM w_tab_copy_modify ) ...

  4. mysql ERROR 1045 (28000): Access denied for user解决方法 (转)

    问题重现(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -pEnter password:ERROR 1045 (28000): Acc ...

  5. Java 基本数据类型转换

    1. Integer/int  转 String Integer a = 1; (int a = 1) String b = Integer.toString(a); 2. float 转 Strin ...

  6. Demonstrating One-Shot Execution TimerTask Timer

    Listing -. Demonstrating One-Shot Execution import java.util.Timer; import java.util.TimerTask; publ ...

  7. error: jump to label ‘XXXX’ [-fpermissive]

    http://www.cnblogs.com/foohack/p/4090124.html 下面的类似的源码在MSVC上能正确编译通过.但是gcc/g++上就会错: 1. if(expr)2. got ...

  8. BLE GATT规范中关于UUID与属性的详细解析

    1. 角色 除了GAP定义了角色之外,BLE还定义了另外2种角色:GATT服务器和GATT客户端,它们完全独立于GAP的角色.提供数据的设备称为GATT服务器,访问GATT服务器而获得数据的设备称为G ...

  9. Python基本数据类型之list列表

    列表是python中用的非常频繁的数据结构,它是有序序列.之前学的字符串就是一种有序序列.不过列表是可变的. 创建列表 li = list( )                          #构 ...

  10. 使用多种客户端消费WCF RestFul服务(四)——Jquery篇

    Jquery篇 互联网开发中少不了各类前端开发框架,其中JQUERY就是最流行之一,本篇我们就采用JQUERY来消费WCF RestFul服务,其中用到JSON基础知识,如果有想了解的朋友,请访问:& ...