使用Fiddler对android应用抓http或https包
工作原理
先上个图 此图一目了然,可以看出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”和”要过滤的域名”
注意事项: 1、fidder所在主机代理端口8888没用被防火墙设置拦截网络进出: 2、手机与主机连接同一网络: 3、fidder用v.4.6或者以上版本。
使用Fiddler对android应用抓http或https包的更多相关文章
- Fiddler在fiddler option设置还是抓不了HTTPS包解决办法
1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...
- burp导入证书后仍然抓不到https包
burp导入证书后仍然抓不到https包 如果你是导入证书有问题,请参考此博客 http://blog.csdn.net/zyw_anquan/article/details/47904495 有一点 ...
- 使用Fiddler对android应用抓包
工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么. 它实际工作在本机的8888端口http代理,我们启动fiddler时,它会自动更改代理设置: ...
- 用Fiddler在Android上抓包(Http+https)
Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点.修改请求与相应的数据等等... 抓HTTP包 安 ...
- 使用Fiddler对android应用抓包 专题
工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么. WinInet(“Windows Internet”)API帮助程序员使用三个常见的Inter ...
- 利用fiddler给android模拟器抓包
启动模拟器 setting---wireless&networks----mobile networks----access pointnames -------------------- 然 ...
- Fiddler死活抓不了HTTPS包解决办法
Fiddler抓取HTTPS设置注意以下操作的前提是,手机已经能够连上Fiddler,这部分的配置过程简单就不赘述了,可参考:手机如何连接Fiddler . 如何继续配置让Fiddler抓取到HTTP ...
- 随意从Android端抓取一些数据包看到的协议
如题,就打开了某银行客户端,登录,查询余额,退出 打开支付宝钱包,登录,来回转账到余额宝 中间收到微信的消息 看到了以下协议: 银行客户端的:DNS (连接银行网站时使用,网站server返回也是用的 ...
- Fiddler实现iPhone手机抓包
最近某小程序大火,许多非专业人员也在跃跃欲试,但是在查找自己的session_id的时候卡住了,本文只从技术方面介绍如何通过通过Fiddler来抓取手机的数据,不涉及如何作弊... 1.电脑上安装Fi ...
随机推荐
- opensack-mitaka网络性能测试shaker
一.项目介绍 Shaker项目是由Mirantis发起,专门针对OpenStack网络性能的测试工具.通过模拟不同的网络场景和heat模板,创建虚拟机,并在虚拟机里运行iperf.iperf3.net ...
- mysql 自查询
先介绍用法: 用法解释 select * from a,b : shopping 商品表 , baixitest SELECT b.name from shopping as a, baixi ...
- LeetCode OJ:First Bad Version(首个坏版本)
You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...
- 《转》浅谈EJB
ejb一直是一个让我很纠结的技术,虽然ejb作为sun推荐的最佳实践,在sun的J2EE教程中,推荐jsp和servlet作为view层,ejb作为业务逻辑层. 上述就是J2EE教程讲J2EE体系中J ...
- WEKA运行参数修改(RunWeka.ini文件)
一般使用weka进行数据挖掘的时候会碰到两个问题,一是内存不够,二是libsvm使用不了,这时就需要重新配置RunWeka.ini文件,解决上述问题.查看RunWeka.ini原文如下: # Cont ...
- 目标跟踪之相关滤波:CF及后续改进篇
一. 何为相关滤波? Correlation Filter 最早应用于信号处理,用来描述两个信号之间的相关性,或者说相似性(有点像早期的概率密度),先来看定义: 对于两个数据 f 和 g,则两个信号的 ...
- Android 进阶11:进程通信之 ContentProvider 内容提供者
学习启舰大神,每篇文章写一句励志的话,与大家共勉. When you are content to be simply yourself and don't compare or compete, e ...
- MFC多语言程序版本,在不同的windows系统上的使用 FP_SetThreadUILanguage
from: http://www.cnblogs.com/qijicxl/p/3840157.html 如何使MFC程序界面支持多国语言?这次使用后给自己做一个总结. 我们使用vc6.0的版本来试验 ...
- 原生js面向对象写法
Mouse就是一个类,有自己的成员变量和成员方法,成员方法一定加上prototype,避免js原型的坑. var Mouse = function(id) { this.id = id; this.n ...
- 选择第n大的数(分治法和排列实现)
个人心得:在买的书上看到的一个经典分治题,题目意思就是给定一个数组,求第k小的数. 第一反应就是排序,然后返回第k-1位置的数就可以了,这样算法的复杂度是nlongn,在快速排序的基础下还是挺不错的. ...