转载:http://www.trinea.cn/android/android-network-sniffer/
Android利用Fiddler进行网络数据抓包
主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博、微信、墨迹天气)的网络通信请求就可以利用这个方法。
Mac 下请使用 Charles 代替 Fiddler,Charles 免费激活码为Registered name: a!nthony ortolani License key: a!4036b2761c9583fda (需要将 name 和 key 中的 a! 都改为 a)
相对于tcpdump配合wireshark抓包的优势在于:(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂,Fiddler的UI更简单明了 (5) 可以查看https请求。如果你坚持使用tcpdump也可见:利用tcpdump和wireshark抓取网络数据包。
PS:需要1台PC做辅助,且PC需要与手机在同一局域网内或有独立公网ip
1、PC端安装Fiddler
下载地址:Fiddler.exe,下面是Fiddler的简单介绍(不感兴趣的可以直接跳过):
Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展,在web开发和调优中经常配合firebug使用。
Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。
2、 配置PC端Fiddler和手机
(1) 配置Fiddler允许监听https
打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:
第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。
(2) 配置Fiddler允许远程连接
如上图的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler,如下图:
(3) 配置手机端
Pc端命令行ipconfig查看Fiddler所在机器ip,本机ip为10.0.4.37,如下图
打开手机连接到同一局域网的wifi,并修改该wifi网络详情(长按wifi选择->修改网络)->显示高级选项,选择手动代理设置,主机名填写Fiddler所在机器ip,端口填写Fiddler端口,默认8888,如下图:
这时,手机上的网络访问在Fiddler就可以查看了,如下图微博和微信的网络请求:
可以双击上图某一行网络请求,右侧会显示具体请求内容(Request Header)和返回内容(Response Header and Content),如下图:
可以发现Fiddler可以以各种格式查看网络请求返回的数据,包括Header, TextView(文字), ImageView(图片), HexView(十六进制),WebView(网页形式), Auth(Proxy-Authenticate Header), Caching(Header cache), Cookies, Raw(原数据格式), JSON(json格式), XML(xml格式)很是方便。
停止网络监控的话去掉wifi的代理设置即可,否则Fiddler退出后手机就上不网了哦。
如果需要恢复手机无密码状态,Android端之后可以通过系统设置-安全-受信任的凭据-用户,点击证书进行删除或清除凭据删除所有用户证书,再设置密码为无。
如果只需要监控一个软件,可结合系统流量监控,关闭其他应用网络访问的权限。
对你有帮助的话,去知乎点个赞让更多人了解:如何在 Android 手机上实现抓包
相关文章:
- 2013 年 10 月 22 日 -- Android利用tcpdump和wireshark抓取网络数据包
- 2013 年 12 月 30 日 -- 新年Fighting
- 2013 年 3 月 25 日 -- Android应用如何开机自启动、自启动失败原因
- 2013 年 7 月 19 日 -- Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类
- 2013 年 8 月 16 日 -- 性能优化之Java(Android)代码优化
- 2013 年 7 月 16 日 -- Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
Post navigation
-
讨论
-
讨论 2月24日1楼谢谢,文章不错,不过貌似fiddler这样有漏包的情况,fiddler用最新版,已经在android里用浏览器安装了fiddler证书,用来抓神女控这个游戏(不是要做外挂非法盈利,纯粹学习一下https解密的各种情况),只能抓到开头的一些https包,会漏掉很多https包(这个游戏使用好几个域名和证书做https),这些包用wireshark抓不会漏,可惜wireshark不能自动解密https包,得自己去抓私钥,朋友有什么头绪可以让这些漏掉的包,在fiddler里实时显示回来吗?请指点,感谢。
-
这个问题我最近也有碰到,还没时间去找解决方案,如果你早到了,也请告诉我一下
好的:)
-
-
-
讨论 2月24日1楼谢谢,文章不错,不过貌似fiddler这样有漏包的情况,fiddler用最新版,已经在android里用浏览器安装了fiddler证书,用来抓神女控这个游戏(不是要做外挂非法盈利,纯粹学习一下https解密的各种情况),只能抓到开头的一些https包,会漏掉很多https包(这个游戏使用好几个域名和证书做https),这些包用wireshark抓不会漏,可惜wireshark不能自动解密https包,得自己去抓私钥,朋友有什么头绪可以让这些漏掉的包,在fiddler里实时显示回来吗?请指点,感谢。
这个问题我最近也有碰到,还没时间去找解决方案,如果你早到了,也请告诉我一下
-
-
匿名
-
匿名 2013年12月11日1楼第一次接触这个软件,什么都不懂,所以提的问题还请不要见怪。我现在的问题是,在玩一个游戏,愤怒的小鸟,他出了一个版本,从12月1号开始,一天只有一关开放,比如今天11号,那么只能玩到11关,第12关明天才能玩。他的时间是通过联网来验证的,如果断网就直接提示网络连接错误,否则只是提示剩余多长时间才能玩。无意中看到了这个软件,想试一下能不能破解这个验证。下了一个中文绿色版,版本号是2.2.2.0。打开Fiddler,然后打开愤怒的小鸟,点击没有开启的关卡,我认为他会提示剩余时间,但他提示的却是网络连接错误。Fiddler的窗口中只有两个游戏刚打开时自动检查更新的请求。浏览器的话是没有问题的。请问,这是什么原因呢?望您指点一二,不胜感激。
-
按理说是不会存在这种问题的,因为Fiddler只是做网络代理转发,请求信息跟手机端访问一致
很抱歉现在才看到您的回复。非常感谢!我现在也不知道怎么做才能行。对了我说的游戏也是电脑上的,整个过程都是电脑上的,和手机没有关系。那天只是无意搜到了您的这篇文章。再次感谢!
-
推荐文章
- Android 开源交流 QQ 群 5 群
- 北上深杭----大批阿里职位袭来!!!
- 如何学习 Github 上某个开源项目
- Android 开源库获取途径整理
- 翻越 Google,每月仅5元,全平台支持
- Android 插件化
- Java Annotation 及几个常用开源项目注解原理简析
- Android 开发测试环境切换工具
- 我的知乎 Trinea
- Android 优秀开源项目实现原理解析
- Java ClassLoader 及动态加载
- HttpURLConnection及HttpClient选择
- Android自动轮播 无限循环的ViewPager
- Android Touch事件传递机制
- 淘宝 支付宝 阿里巴巴 阿里云招聘
- 安居客Android iOS PHP招聘
- Android开源项目汇总
- Android性能优化总结
- Android公共库(缓存 下拉ListView 静默安装等)
- Android ImageCache图片缓存
- 下拉刷新及滚动到底部加载更多的Listview使用
- Android常用工具类
浏览排行
- (33,380)Android系统下载管理DownloadManager功能介绍及使用示例
- (28,211)Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- (27,624)下拉刷新及滚动到底部加载更多的Listview使用
- (27,253)Android开源项目第一篇——个性化控件(View)篇
- (26,875)viewpager实现画廊(一屏多个Fragment)效果
- (22,833)Android自动滚动 轮播循环的ViewPager
- (21,396)Java(Android)线程池
- (21,358)Android性能调优
- (18,314)Android利用Fiddler进行网络数据抓包
- (18,203)Android开源项目第二篇——工具库篇
分类目录
评论排行榜
- (176)Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- (167)下拉刷新及滚动到底部加载更多的Listview使用
- (133)Android系统下载管理DownloadManager功能介绍及使用示例
- (130)Android下载管理DownloadManager功能扩展和bug修改
- (113)Android自动滚动 轮播循环的ViewPager
- (83)Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
- (72)Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类
- (43)关于
- (41)Android常用代码之APK root权限静默安装
- (38)Android性能调优
推荐文章
- 我的知乎 Trinea,欢迎关注
- 用云梯翻越 Google,每月仅5元,全平台支持
- Android 插件化
- Android 开源库获取途径整理
- 微博Trinea,更及时全面的技术分享!
- Java Annotation 及几个常用开源项目注解原理简析
- Android 开发测试环境切换工具
- Android 优秀开源项目实现原理解析
- Java ClassLoader 及动态加载
- HttpURLConnection及HttpClient选择
- Android自动轮播 无限循环的ViewPager
- Android Touch事件传递机制
- 淘宝 支付宝 阿里巴巴 阿里云招聘
- 安居客Android iOS PHP招聘
- Android开源项目汇总
- Android性能优化总结
- Android公共库(缓存 下拉ListView 静默安装等)
- Android ImageCache图片缓存
- 下拉刷新及滚动到底部加载更多的Listview使用
- Android常用工具类
- 我的知乎 Trinea,欢迎关注