Fiddler工具使用-抓取https请求
2015-08-21 23:15
633 查看
Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获手机发出的HTTP/HTTPS请求,总结下Fiddler截获IPhone和Android发出的HTTP/HTTPS包,前提条件是:安装Fiddler的机器,跟Iphone、Android在同一个网络里, 否则手机不能把HTTP发送到Fiddler的机器上来。
PS:这里踩到过一个坑,手机上已经设置好代理,开启代理后,却发现手机上不了网,而且Fiddler没有请求过来,弄了半天,发现和电脑防火墙有关系。
一、准备工作
不论IPhone、Android,首先都需要配置Fiddler,打开Fiddler,Tools-> Fiddler Options(配置完后记得要重启Fiddler)。
选中"Decrpt HTTPS traffic",Fiddler就可以截获HTTPS请求
选中"Allow remote computers to connect",是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来,如图
二、IPhone上安装Fiddler证书
这一步是为了让Fiddler能捕获HTTPS请求。如果你只需要截获HTTP请求,可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:假如我安装了Fiddler的机器的IP地址是:192.168.1.104
2. 打开IPhone 的Safari,访问 http://192.168.1.104:8888, 点"FiddlerRoot certificate",然后安装证书
3. IPhone上配置Fiddler,打开IPhone,找到网络连接,打开HTTP代理,输入Fiddler所在机器的IP地址(比如192.168.1.104)以及Fiddler的端口号8888
三、Android上安装Fiddler证书
1. Android设置代理服务器,打开wifi设置页面,长按要连接的网络,在弹出的对话框中,选择“修改网络”,如图
2. 在接下来弹出的对话框中,勾选“显示高级选项”,在接下来显示的页面中,点击“代理”,选择“手动”,在“代理服务器主机名”和“代理服务器端口”中写上前面得到的地址和端口,最后点“保存”。
3. 导证书到Android设备
Fiddler本质上是一个HTTPS代理服务器,其自己带的证书显然不会在Android设备的受信任证书列表里。
有些应用程序会查看服务器端的证书是否是由受信任的根证书签名的,如果不是就直接跳出。
所以,为了保险起见,我们要将Fiddler代理服务器的证书导到Android设备上。
导入的过程非常简单,打开设备自带的浏览器,在地址栏中输入代理服务器的IP和端口,例如本例中我们会输入192.169.11.8:8888,进入之后会看到一个Fiddler提供的页面:
点击页面中的“FiddlerRoot certificate”链接,接着系统会弹出对话框:
输入一个证书名称,然后直接点“确定”就好了。
4. 最后,不得不提这种方法的一些优点和缺点。
优点:1)手机不需要root就可以抓包; 2)可以用真机抓包,有些程序是抗动态分析的,能够判断自己运行在模拟器中。
缺点:1)必须要用WiFi连接; 2)要抓包分析的应用程序必须自己支持代理服务器的设置。
PS:这里踩到过一个坑,手机上已经设置好代理,开启代理后,却发现手机上不了网,而且Fiddler没有请求过来,弄了半天,发现和电脑防火墙有关系。
一、准备工作
不论IPhone、Android,首先都需要配置Fiddler,打开Fiddler,Tools-> Fiddler Options(配置完后记得要重启Fiddler)。
选中"Decrpt HTTPS traffic",Fiddler就可以截获HTTPS请求
选中"Allow remote computers to connect",是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来,如图
二、IPhone上安装Fiddler证书
这一步是为了让Fiddler能捕获HTTPS请求。如果你只需要截获HTTP请求,可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:假如我安装了Fiddler的机器的IP地址是:192.168.1.104
2. 打开IPhone 的Safari,访问 http://192.168.1.104:8888, 点"FiddlerRoot certificate",然后安装证书
3. IPhone上配置Fiddler,打开IPhone,找到网络连接,打开HTTP代理,输入Fiddler所在机器的IP地址(比如192.168.1.104)以及Fiddler的端口号8888
三、Android上安装Fiddler证书
1. Android设置代理服务器,打开wifi设置页面,长按要连接的网络,在弹出的对话框中,选择“修改网络”,如图
2. 在接下来弹出的对话框中,勾选“显示高级选项”,在接下来显示的页面中,点击“代理”,选择“手动”,在“代理服务器主机名”和“代理服务器端口”中写上前面得到的地址和端口,最后点“保存”。
3. 导证书到Android设备
Fiddler本质上是一个HTTPS代理服务器,其自己带的证书显然不会在Android设备的受信任证书列表里。
有些应用程序会查看服务器端的证书是否是由受信任的根证书签名的,如果不是就直接跳出。
所以,为了保险起见,我们要将Fiddler代理服务器的证书导到Android设备上。
导入的过程非常简单,打开设备自带的浏览器,在地址栏中输入代理服务器的IP和端口,例如本例中我们会输入192.169.11.8:8888,进入之后会看到一个Fiddler提供的页面:
点击页面中的“FiddlerRoot certificate”链接,接着系统会弹出对话框:
输入一个证书名称,然后直接点“确定”就好了。
4. 最后,不得不提这种方法的一些优点和缺点。
优点:1)手机不需要root就可以抓包; 2)可以用真机抓包,有些程序是抗动态分析的,能够判断自己运行在模拟器中。
缺点:1)必须要用WiFi连接; 2)要抓包分析的应用程序必须自己支持代理服务器的设置。
相关文章推荐
- CAS服务端取消https验证
- HttpURLConnection和HttpClient
- HTTP协议简介
- DNS 在企业中的网络中的应用
- java socket tcp(服务器循环检测)
- iOS开发之网络篇-各种网络状态码
- 傻瓜都能看懂的网络流ek算法(poj1273)
- 通达OA 小飞鱼老师OA工作流设计课程教学网络公开课之HTML基础(一)
- 通达OA 小飞鱼老师OA工作流设计课程教学网络公开课之HTML基础(一)
- Power Network 网络流入门题)
- hdu1532Drainage Ditches裸的网络流
- iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全
- 黑马程序员_网络编程学习笔记
- Java基础-多线程下载(网络编程-多线程)
- 寒冰王座(http://acm.hdu.edu.cn/showproblem.php?pid=1248)
- 【线性规划与网络流24题 1】飞行员配对方案
- 小点滴——oracle 11g登陆不到控制台https://localhost:1158/em/的解决
- http tcp/ip socket之间的关系
- HTTP协议
- http://blog.163.com/gobby_1110/blog/static/29281715201352004329356/