fiddler Android下https抓包全攻略
2016-02-22 19:48
561 查看
fiddler的http、https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行、支付宝、陌陌这样的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的详细配置都罗列出来,供大家参考。
一、普通https抓包设置
先对Fiddler进行设置:
![](http://img.blog.csdn.net/20150228183938842?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”。同时,由于我们是通过WiFi远程连过来,所以在下面的选项框中选择“...fromremote clients only”。
如果你要监听的程序访问的HTTPS站点使用的是不可信的证书,则请接着把下面的“Ignore servercertificate errors”勾选上。
![](http://img.blog.csdn.net/20150228183920982?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
监听端口默认是8888,你可以把它设置成任何你想要的端口。勾选上“Allow remote computersto connect”。
为了减少干扰,可以去掉“Act assystem proxy on startup”。
3)设置Android设备,添加代理服务器
保证PC所在网络和Android所用的wifi是相通的。
获取PC的局域网IP地址
![](http://img.blog.csdn.net/20150228183944801?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里的IP是192.168.0.52。
下面来设置Android设备上的代理服务器:
打开WiFi设置页面,选择要连接的AP,并且长按,在弹出的对话框中,选择“修改网络”。
在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”。
代理服务器主机名设为PC的IP,代理服务器端口设为Fiddler上配置的端口8888,点"保存"。
这样就可以对普通的https抓包了。
![](http://img.blog.csdn.net/20150228183928143?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
二、过证书校验
上面的设置还不能抓像招商银行、支付宝等APP的https包,因为这些APP对https证书进行了校验,还需要将Fiddler代理服务器的证书导到Android设备上才能抓这些APP的包。
导入的过程:
打开浏览器,在地址栏中输入代理服务器的IP和端口,会看到一个Fiddler提供的页面:
![](http://img.blog.csdn.net/20150228183957687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
点击页面中的“FiddlerRootcertificate”链接,接着系统会弹出对话框:
![](http://img.blog.csdn.net/20150228184000900?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
输入一个证书名称,然后直接点“确定”就好了。
三、使其在HttpURLConnection下正常抓包
现在招商银行还有支付宝,都可以抓包了,但是对于像陌陌这样使用HttpURLConnection进行通讯的APP还是无能为力
还需要对fiddler进行如下设置:
点击"Rules->CustomizeRules";
在这个函数OnBeforeResponse后面添加
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
如下图所示:
![](http://img.blog.csdn.net/20150228183945631?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里的" Android"可替换为User-Agent里的其它字符,确保匹配上User-Agent就行
以下为抓包示例:
招商银行app抓包
![](http://img.blog.csdn.net/20150228184010697?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
支付宝app抓包
![](http://img.blog.csdn.net/20150228183953368?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
陌陌app抓包
![](http://img.blog.csdn.net/20150228184005115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdEZXRA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
引用: http://blog.csdn.net/justfwd/article/details/43988559
一、普通https抓包设置
先对Fiddler进行设置:
勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”。同时,由于我们是通过WiFi远程连过来,所以在下面的选项框中选择“...fromremote clients only”。
如果你要监听的程序访问的HTTPS站点使用的是不可信的证书,则请接着把下面的“Ignore servercertificate errors”勾选上。
监听端口默认是8888,你可以把它设置成任何你想要的端口。勾选上“Allow remote computersto connect”。
为了减少干扰,可以去掉“Act assystem proxy on startup”。
3)设置Android设备,添加代理服务器
保证PC所在网络和Android所用的wifi是相通的。
获取PC的局域网IP地址
这里的IP是192.168.0.52。
下面来设置Android设备上的代理服务器:
打开WiFi设置页面,选择要连接的AP,并且长按,在弹出的对话框中,选择“修改网络”。
在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”。
代理服务器主机名设为PC的IP,代理服务器端口设为Fiddler上配置的端口8888,点"保存"。
这样就可以对普通的https抓包了。
二、过证书校验
上面的设置还不能抓像招商银行、支付宝等APP的https包,因为这些APP对https证书进行了校验,还需要将Fiddler代理服务器的证书导到Android设备上才能抓这些APP的包。
导入的过程:
打开浏览器,在地址栏中输入代理服务器的IP和端口,会看到一个Fiddler提供的页面:
点击页面中的“FiddlerRootcertificate”链接,接着系统会弹出对话框:
输入一个证书名称,然后直接点“确定”就好了。
三、使其在HttpURLConnection下正常抓包
现在招商银行还有支付宝,都可以抓包了,但是对于像陌陌这样使用HttpURLConnection进行通讯的APP还是无能为力
还需要对fiddler进行如下设置:
点击"Rules->CustomizeRules";
在这个函数OnBeforeResponse后面添加
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
如下图所示:
这里的" Android"可替换为User-Agent里的其它字符,确保匹配上User-Agent就行
以下为抓包示例:
招商银行app抓包
支付宝app抓包
陌陌app抓包
引用: http://blog.csdn.net/justfwd/article/details/43988559
相关文章推荐
- 巧借QQ群“入群付费”功能日入百元+
- iOS开发之监测网络状态
- [转] 超文本传输安全协议 ---- HTTPS
- https访问需要ssl证书
- 初识网络爬虫
- Charles抓包使用教程
- shell分析http日志
- 简易nginx TCP反向代理设置
- Excel2013无法打开HTTPS网站的xls文件
- 使用 libevent 和 libev 提高网络应用性能
- nginx的https配置
- httpclient忽略证书验证允许https请求
- https的网站使用百度地图的问题
- Android中的网络管理源码分析--netd
- 给产品经理讲技术,不得不懂的TCP和UDP
- HTTP请求报文和HTTP响应报文
- Java网络编程学习笔记
- Java网络编程学习笔记
- linux下网络程序遭遇SIGPIPE的解决(转)
- 网络分析工具