转载: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 手机上实现抓包

自己记录并且分享给好友:



更多 Android 技术点,欢迎关注我的微博 Trinea

欢迎加入 Android 开源交流 Q 群 4 群: 14884(入群理由必须填写群简介问题答案)4489

相关文章:

  • 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卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
Posted@2013-10-16 08:50:56, Filed under  Android,  开发工具 by  Trinea

Post navigation

? 上一篇: trinea.cn性能优化 ? 下一篇: android利用tcpdump和wireshark抓取网络数据包

社交帐号登录:

  • 微博
  • QQ
  • 人人
  • 豆瓣
  • 更多»
最新 最早 最热
  • 31条评论
  • 6条转载
  • 3条新浪微博
  • Trinea
    1. 老头 9月11日 1楼 请教一下,在mac/linux下有更方便的方法么?多谢       

    Mac 下我也在用 Fiddler,不过貌似还有些问题

    9月11日 回复 顶 转发
  • 老头

    请教一下,在mac/linux下有更方便的方法么?多谢

    9月11日 回复 顶 转发
  • aisin

    谢谢分享,试过了,方法可用

    9月1日 回复 顶 转发
  • Trinea
    1. Kwan 5月29日 1楼 为何手机设置代理后不能上网       

    同一局域网内,还不行的话,浏览器访问PCip:8888

    5月30日 回复 顶 转发
  • Kwan

    为何手机设置代理后不能上网

    5月29日 回复 顶 转发
  • Trinea
    1. gdzq110 4月8日 1楼 我在热点上点击修改网络-高级选项-代理服务器设置后,保存按钮变为灰色,不能保存成功代理设置。
      是否和电信定制机有关,锁了这个功能?4.3版本的andorid       

    不确定,没遇到过这个情况。可以看看你们其他测试机

    4月8日 回复 顶 转发
  • gdzq110

    我在热点上点击修改网络-高级选项-代理服务器设置后,保存按钮变为灰色,不能保存成功代理设置。
    是否和电信定制机有关,锁了这个功能?4.3版本的andorid

    4月8日 回复 顶 转发
  • Trinea
    1. shen愛 3月14日 1楼 看不到微信的, 是版本的问题吗       
    2. 还有1条评论
    3. shen愛 3月14日 3楼 能看到其他的,豌豆荚,go桌面。。只是微信的看不到       

    确实,微信聊天内容是抓不到的,微信朋友圈以及公众号某篇内容详情能抓到

    3月14日 回复 顶 转发
  • shen愛
    1. shen愛 3月14日 1楼 看不到微信的, 是版本的问题吗       
    2. Trinea 3月14日 2楼 我测试的时候是能看到的。你现在是所有的应用网络请求都看不到,还是只是微信的看不到?       

    能看到其他的,豌豆荚,go桌面。。只是微信的看不到

    3月14日 回复 顶 转发
  • Trinea
    1. shen愛 3月14日 1楼 看不到微信的, 是版本的问题吗       

    我测试的时候是能看到的。你现在是所有的应用网络请求都看不到,还是只是微信的看不到?

    3月14日 回复 顶 转发
  • shen愛

    看不到微信的, 是版本的问题吗

    3月14日 回复 顶 转发
  • 讨论
    1. 讨论 2月24日 1楼 谢谢,文章不错,不过貌似fiddler这样有漏包的情况,fiddler用最新版,已经在android里用浏览器安装了fiddler证书,用来抓神女控这个游戏(不是要做外挂非法盈利,纯粹学习一下https解密的各种情况),只能抓到开头的一些https包,会漏掉很多https包(这个游戏使用好几个域名和证书做https),这些包用wireshark抓不会漏,可惜wireshark不能自动解密https包,得自己去抓私钥,朋友有什么头绪可以让这些漏掉的包,在fiddler里实时显示回来吗?请指点,感谢。       
    2. Trinea 2月24日 2楼 这个问题我最近也有碰到,还没时间去找解决方案,如果你早到了,也请告诉我一下       

    好的:)

    2月24日 回复 顶 转发
  • Trinea
    1. 讨论 2月24日 1楼 谢谢,文章不错,不过貌似fiddler这样有漏包的情况,fiddler用最新版,已经在android里用浏览器安装了fiddler证书,用来抓神女控这个游戏(不是要做外挂非法盈利,纯粹学习一下https解密的各种情况),只能抓到开头的一些https包,会漏掉很多https包(这个游戏使用好几个域名和证书做https),这些包用wireshark抓不会漏,可惜wireshark不能自动解密https包,得自己去抓私钥,朋友有什么头绪可以让这些漏掉的包,在fiddler里实时显示回来吗?请指点,感谢。       

    这个问题我最近也有碰到,还没时间去找解决方案,如果你早到了,也请告诉我一下

    2月24日 回复 顶 转发
  • 讨论

    谢谢,文章不错,不过貌似fiddler这样有漏包的情况,fiddler用最新版,已经在android里用浏览器安装了fiddler证书,用来抓神女控这个游戏(不是要做外挂非法盈利,纯粹学习一下https解密的各种情况),只能抓到开头的一些https包,会漏掉很多https包(这个游戏使用好几个域名和证书做https),这些包用wireshark抓不会漏,可惜wireshark不能自动解密https包,得自己去抓私钥,朋友有什么头绪可以让这些漏掉的包,在fiddler里实时显示回来吗?请指点,感谢。

    2月24日 回复 顶 转发
  • Trinea
    1. 内网无法登陆账号 1月26日 1楼 顶,不错。可行公司不让WIFI上网,这个方法用不成。。。       

     还有公司不让用wifi的啊

    1月26日 回复 顶 转发
  • 内网无法登陆账号

    顶,不错。可行公司不让WIFI上网,这个方法用不成。。。

    1月26日 回复 顶 转发
  • 飕极到你0

    好文要顶,您博主14安康。

    1月2日 回复 顶 转发
  • Trinea
    1. m35 1月1日 1楼 新年好,请问android上https能设置抓包吗?       

    试试又不会怀孕

    1月1日 回复 顶 转发
  • m35

    新年好,请问android上https能设置抓包吗?

    1月1日 回复 顶 转发
  • 匿名
    1. 匿名 2013年12月11日 1楼 第一次接触这个软件,什么都不懂,所以提的问题还请不要见怪。我现在的问题是,在玩一个游戏,愤怒的小鸟,他出了一个版本,从12月1号开始,一天只有一关开放,比如今天11号,那么只能玩到11关,第12关明天才能玩。他的时间是通过联网来验证的,如果断网就直接提示网络连接错误,否则只是提示剩余多长时间才能玩。无意中看到了这个软件,想试一下能不能破解这个验证。下了一个中文绿色版,版本号是2.2.2.0。打开Fiddler,然后打开愤怒的小鸟,点击没有开启的关卡,我认为他会提示剩余时间,但他提示的却是网络连接错误。Fiddler的窗口中只有两个游戏刚打开时自动检查更新的请求。浏览器的话是没有问题的。请问,这是什么原因呢?望您指点一二,不胜感激。       
    2. Trinea 2013年12月15日 2楼 按理说是不会存在这种问题的,因为Fiddler只是做网络代理转发,请求信息跟手机端访问一致       

    很抱歉现在才看到您的回复。非常感谢!我现在也不知道怎么做才能行。对了我说的游戏也是电脑上的,整个过程都是电脑上的,和手机没有关系。那天只是无意搜到了您的这篇文章。再次感谢!

    2013年12月21日 回复 顶 转发
1  2

Trinea正在使用多说

每日精选

  • 翻越 Google,每月仅5元,全平台支持

推荐文章

  • 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开源项目第二篇——工具库篇

分类目录

  • Android (71)
  • Android Java源码分析 (9)
  • Bug分析 (9)
  • Java (18)
  • 会议分享 (1)
  • 其他 (2)
  • 创业 (1)
  • 常用代码 (3)
  • 开发工具 (19)
  • 开源代码 (25)
  • 性能优化 (14)
  • 招聘 (3)
  • 计划和总结 (12)
  • 读书笔记 (1)

友情链接

  • Android 全国职位列表
  • 国外著名 Android 开发者信息
  • 国内部分 Android 开发者信息
  • Android@stackoverflow
  • 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,欢迎关注
© 2013-2014 Powered by  trinea.cn 

更多相关文章

  1. android 网络开发
  2. 为什么Android官方废弃SoftRefrerence软引用和WeakReference弱引
  3. Android中的几种网络请求方式详解
  4. 9款Android常用的快速开发框架
  5. Android中retrofit网络请求框架使用
  6. Android之Wifi学习(1)
  7. [Android] AsyncTask使用实例---加载网络图片
  8. Android利用Fiddler进行网络数据抓包
  9. android的几种网络请求方式详解

随机推荐

  1. Android(安卓)Virtualview:淘宝、天猫 又
  2. Android(安卓)访问Android(安卓)Wear数据
  3. Android开发系列之调用WebService
  4. 总结Content Provider的使用
  5. 【Based Android】PreferenceActivity设
  6. android 抛出“Unparsed aapt error(s)”
  7. Android性能优化之 Android Lint
  8. Android中怎么让你的layout适应屏幕的大
  9. Android中Dialog
  10. Android平台架构介绍和源码下载