Android利用Fiddler进行网络数据抓包

转载: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 https options
第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。

 

(2) 配置Fiddler允许远程连接
如上图的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler,如下图:
fiddler remote connect

 

(3) 配置手机端
Pc端命令行ipconfig查看Fiddler所在机器ip,本机ip为10.0.4.37,如下图
ipconfig
打开手机连接到同一局域网的wifi,并修改该wifi网络详情(长按wifi选择->修改网络)->显示高级选项,选择手动代理设置,主机名填写Fiddler所在机器ip,端口填写Fiddler端口,默认8888,如下图:
android network proxy

这时,手机上的网络访问在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
Posted@2013-10-16 08:50:56, Filed under  Android开发工具 by  Trinea

Post navigation

社交帐号登录:

  • Trinea
    1. 老头
      老头 9月11日
      1楼
      请教一下,在mac/linux下有更方便的方法么?多谢       

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

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

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

    9月11日 回复 转发
  • aisin

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

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

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

    5月30日 回复 转发
  • Kwan
    Kwan

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

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

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

    4月8日 回复 转发
  • gdzq110
    gdzq110

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

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

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

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

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

    3月14日 回复 转发
  • Trinea
    1. shen愛
      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
      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
      m35 1月1日
      1楼
      新年好,请问android上https能设置抓包吗?       

    试试又不会怀孕

    1月1日 回复 转发
  • m35
    m35

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

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

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

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

Trinea正在使用多说

推荐文章

订阅

Follow         favorite         favorite         RSS

推荐文章

© 2013-2014 Powered by  trinea.cn 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值