使用Fiddler对android应用抓包 专题
工作原理
先上个图
此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么。
WinInet(“Windows Internet”)API帮助程序员使用三个常见的Internet协议,
这三个协议是用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。
WinInet函数的语法与常用的Win32 API函数的语法类似,这使得使用这些协议就像使用本地硬盘上的文件一样容易。
它实际工作在本机的8888端口http代理,我们启动fiddler时,它会自动更改代理设置:(可以在cmd中输入inetcpl.cpl来打开IE选项)
chrome中:
从此我们可以看出,只要是http的请求,在请求发起离开本机之前都会经过fiddler,当response回来,没有达到实际请求者时,也会经过fiddler:这样我们就可以在轻易的实现修改请求和响应的内容,这样我们就可以轻松的调试现网的程序。
http://www.cnblogs.com/forcertain/archive/2012/11/29/2795139.html
fiddler中打开IE选项:
与其它工具的区别
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请求
选中checkbox, 弹出如下的对话框,点击"YES"
在弹出的对话框 点击"Yes" ,就可以捕获本机的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过滤指定域名的方法一
切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项:
1.Hosts的第一项 有三个子选项,不做更改:
“No Zone Filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”
2.Hosts的第二项只监控以下网址,如只监控百度,在下面的输入框里填上 www.baidu.com
“No Host Filter”不设置hosts过滤
“Hide The Following Hosts”隐藏过滤到的域名
“Show Only The Following Hosts”只显示过滤到的域名
“Flag The Following Hosts”标记过滤到的域名
3.文本框内输入需要过滤的域名,多个域名使用”;“分号分割。fiddler默认会检查http头中设置的host,强制显示http地址中的域名。
fiddler过滤指定域名的方法二
fiddler_request
1.切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,根据需要找到request headers或者response headers区域
2.勾选”set request header”,文本框分别输入”Host”和”要过滤的域名”
使用Fiddler对android应用抓包 专题的更多相关文章
- 使用Fiddler对android应用抓包
工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么. 它实际工作在本机的8888端口http代理,我们启动fiddler时,它会自动更改代理设置: ...
- 利用fiddler给android模拟器抓包
启动模拟器 setting---wireless&networks----mobile networks----access pointnames -------------------- 然 ...
- 用Fiddler在Android上抓包(Http+https)
Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点.修改请求与相应的数据等等... 抓HTTP包 安 ...
- Android利用Fiddler进行网络数据抓包
最新最准确内容建议直接访问原文:Android利用Fiddler进行网络数据抓包 主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信 ...
- Android利用Fiddler进行网络数据抓包,手机抓包工具汇总
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...
- Android利用Fiddler进行网络数据抓包【怎么跟踪微信请求】
主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. Mac 下请使用 Charles 代替 ...
- [转] Android利用Fiddler进行网络数据抓包
主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. Mac 下请使用 Charles 代替 ...
- Android利用Fiddler进行网络数据抓包,手机抓包工具汇总,使用mono运行filddler
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...
- MX2怎样利用Fiddler进行网络数据抓包
首先须要保证PC与手机在同一局域网内或有独立公网IP, 下面以在同一局域网为例(保证手机能訪问到这台PC机器): 1. PC端配置 1). 安装Fiddler 2). 开启Fiddler下面功能: ...
随机推荐
- 删除dataGridview中选中的一行或多行
一.实现的功能:可以删除一行或者多行数据,并在删除前提醒是否确定进行删除! DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?&quo ...
- 关于python的二维数组
test =[ [1, 2, 3], [4, 5, 6], [7, 8, 9]] #这个就可以看做是二维数组了,直接创建print(test)print(test[:][1]) ...
- sql语句的编程手册 SQL PLUS
一.SQL PLUS 引言 SQL命令 以下17个是作为语句开头的关键字: alter drop revoke audit grant rollback* commit* insert select ...
- 9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代
str(字节类型,编码) 可用于创建字符串,或者将其他的转换成字符串 a= ‘李露’ #将字符串转换成字节流 b = bytes(a,encoding = 'utf-8') #将字节转换成 ...
- 1、移动端 2、后台 3、 移动端,Web 端 4、 PC端
移动端: 1.公众号:停开心 住总物业 2.app: iso Android 停开心,住总停开心 后台:停开心智慧停车管理平台(所有的停车场) 移动端,Web端: 海投OA,公司OA PC端:收费软 ...
- 【Codeforces Round #301 (Div. 2) A】 Combination Lock
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟水题 [代码] #include <bits/stdc++.h> using namespace std; cons ...
- UML学习总结(3)——StarUML指导手册
StarUML使用说明-指导手册 原著:Stephen Wong 翻译:火猴 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具.这是一个用Java语言描述 ...
- 飞镖忍者 quick-cocos2d-x3.2
经典的入门小游戏.这里用quick-cocos2d-x3.2又一次写一遍,以便熟悉下quick 首先,创建project,假设不会自行百度啊. 1.编译效果例如以下: watermark/2/text ...
- 分析Net 内存对象
.Net 内存对象分析 在生产环境中,通过运行日志我们会发现一些异常问题,此时,我们不能直接拿VS远程到服务器上调试,同时日志输出的信息无法百分百反映内存中对象的状态,比如说我们想查看进程中所有的 ...
- 同一master,两个slave的server_id相同问题处理
错误日志报错如下: 2017-09-15 18:45:59 1660 [Note] Slave I/O thread: Failed reading log event, reconnecting t ...