查看: 5121|回复: 41

[工具教程] 图解Fiddler如何抓手机APP数据包超详细

498

主题

7763

帖子

63万

积分

管理员

居委会高大爷

Rank: 9Rank: 9Rank: 9

积分
639357

活跃会员优秀版主原创先锋论坛元老最佳新人推广达人

居委会高大爷 发表于 2016-4-26 17:43:32 | 显示全部楼层 |阅读模式
图解Fiddler如何抓手机APP数据包超详细
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
1、PC端安装Fiddler
下载地址:Fiddler.exe,http://www.telerik.com/download/fiddler

2、 配置PC端Fiddler和手机
(1) 配置Fiddler允许监听https
打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:
1.jpg
第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。
(2) 配置Fiddler允许远程连接
的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler,如下图:
2.jpg
(3) 配置手机端
Pc端命令行ipconfig查看Fiddler所在机器ip,本机ip为10.0.4.37,如下图
3.jpg
打开手机连接到同一局域网的wifi,并修改该wifi网络详情(长按wifi选择->修改网络)->显示高级选项,选择手动代理设置,主机名填写Fiddler所在机器ip,端口填写Fiddler端口,默认8888,如下图:
4.jpg
这时,手机上的网络访问在Fiddler就可以查看了,如下图微博和微信的网络请求:
5.jpg
可以双击上图某一行网络请求,右侧会显示具体请求内容(Request Header)和返回内容(Response Header and Content),如下图:
6.jpg
可以发现Fiddler可以以各种格式查看网络请求返回的数据,包括Header, TextView(文字), ImageView(图片), HexView(十六进制),WebView(网页形式), Auth(Proxy-Authenticate Header), Caching(Header cache), Cookies, Raw(原数据格式), JSON(json格式), XML(xml格式)很是方便。
停止网络监控的话去掉wifi的代理设置即可,否则Fiddler退出后手机就上不网了哦。
如果需要恢复手机无密码状态,Android端之后可以通过系统设置-安全-受信任的凭据-用户,点击证书进行删除或清除凭据删除所有用户证书,再设置密码为无。
如果只需要监控一个软件,可结合系统流量监控,关闭其他应用网络访问的权限。

利用fiddler抓取Android app数据包
做Android开发的朋友经常需要做网络数据的获取和提交表单数据等操作,然而对于调试程序而言,很难知道我们的数据到底是以怎样的形式发送的,是否发送成功,如果发送失败有是什么原因引起的。fiddler工具为我们提供了很方便的抓包操作,可以轻松抓取浏览器的发出的数据,不管是手机APP,还是web浏览器,都是可以的。
fiddler的工作原理
fiddler是基于代理来实现抓取网络数据包的工作的,当我们开启fiddler以后,fiddler会将我们的浏览器的代理默认进行更改为 127.0.0.1 端口是8888,这时fiddler的默认端口,也就是说我们发送的每一个请求和收到的每一个响应都会先经过fiddler,这样就实现了抓取数据包的工作。
路径:选项?>高级设置?>更改代理服务器设置?>局域网设置?>高级

9.回话面板说明:
7.png
session会话的分析
这里我随便选择一个会话来进行简单的分析。
8.png
替换服务器端返回的数据
利用”autoresponser”可以替换服务器端返回的文件,当调试的时候需要替换服务器端返回的数据的时候,比如一个已经上线的项目,不可能真正的替换器某一个文件,我们可以这样来操作

从图片当中,可以很清晰的看出,当我再次加载该会话的时候,会显示之前设置好的404代理。
如果需要设置不同的文件代理,也是可以的。比如对于该会话,原本服务器端返回的内容如下图:

由于该session返回的是一个图片类型的,所以我选择ImageView这个选项卡,可以看到此时返回的图片的样子,那么如果需要用本地的文件代理该返回的内容,和之前的操作步骤都是一样的,只是在选择代理的时候选择本地文件即可,如下图:

这次,我选择了一个本地的文件作为代理,此时当我再次重新请求该会话的时候,会返回本地的文件:

可以看出这个时候该会话返回的内容已经是我本地的代理了。
fiddler网络限速
fiddler还为我们提供了一个很方便的网络限速的功能,通过网络限速的功能,可以来模拟用户的一些真实环境。fiddler提供了网络限速的插件,我们可以在他的官网下载:http://www.telerik.com/fiddler/add-ons

点击”download”,下载完成之后,点击安装,需要重新启动fiddler,在重新启动fiddler之后,可以看到fiddler的工具栏选项卡,多出了一个FiddlerScript选项。

比如我需要在请求之前延迟一段时间,可以这样做:

在onBeforeRequest方法中加入这样一段代码”oSession[“request-trickle-delay”] = “3000”;”,那么如果需要在服务端响应之间做延迟只需要将”oSession[“request-trickle-delay”] = “3000”;”中的request替换成response即可。
利用fiddler抓取Android app数据包
游客,如果您要查看本帖隐藏内容请回复


注意:
1.关闭电脑的防火墙
2.如果需要抓取手机app的数据包,需要手机和电脑在都连接同一个无线网络
3.抓完包以后将fiddler关闭(提高访问网络的速度)同时将手机上的代理关闭 (如果不关闭代理,当fiddler关闭,或者是两者连接的不是同一无线网络,手机会不能正常的访问网络)







上一篇:触动抓色器编辑器IDE连接夜神安卓模拟器方法
下一篇:Fiddler抓包记录的工具使用详解
有什么事都可以找论坛我,客服联系方式: 查看,爱好:专吃美少女大腿
咨询问题,请告之电脑系统版本,电脑基本配置,配置可在电脑管家中查看,以及大的报错截图点我去提问;
脚本辅助工具: 查看辅助开发教程: 查看模拟器使用教程: 查看最新版本模拟器: 查看

0

主题

2

帖子

84

积分

注册会员

Rank: 2

积分
84
用户2917184 发表于 2016-4-27 01:40:15 | 显示全部楼层
这么好的资料,学习了,感谢楼主
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

5

帖子

12

积分

新手上路

Rank: 1

积分
12
wencai07 发表于 2016-5-17 10:33:04 | 显示全部楼层
注意:
1.关闭电脑的防火墙
2.如果需要抓取手机app的数据包,需要手机和电脑在都连接同一个无线网络
3.抓完包以后将fiddler关闭(提高访问网络的速度)同时将手机上的代理关闭 (如果不关闭代理,当fiddler关闭,或者是两者连接的不是同一无线网络,手机会不能正常的访问网络)
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

3

帖子

10

积分

新手上路

Rank: 1

积分
10
drogan 发表于 2016-5-28 05:51:44 | 显示全部楼层
注册就可以回复
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

4

帖子

22

积分

新手上路

Rank: 1

积分
22
用户38309329 发表于 2016-6-20 14:34:54 | 显示全部楼层
6666666666666
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
zhuceguo 发表于 2016-7-1 23:25:19 | 显示全部楼层
谢谢楼主,终于可以学习学习FD
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

3

帖子

14

积分

新手上路

Rank: 1

积分
14
用户50318352 发表于 2016-7-2 15:52:32 | 显示全部楼层
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
q598535550 发表于 2016-7-3 19:33:14 | 显示全部楼层
找了好久,这是好东西
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

1

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
tsurumaru 发表于 2016-8-11 01:05:17 | 显示全部楼层

213
主题       
4624
帖子       
18万
积分
管理员
居委会高大爷
Rank: 9Rank: 9Rank: 9
积分184748
活跃会员优秀版主原创先锋论坛元老
发消息       
电梯直达
跳转到指定楼层 楼主
居委会高大爷 发表于 2016-4-26 15:04:06 | 只看该作者 回帖奖励
在Eclipse中使用android模拟器,时常会出现断开
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
用户533529177 发表于 2017-10-29 23:33:17 | 显示全部楼层
学习下!!!
电脑玩手游,就用夜神安卓模拟器,www.yeshen.com免费下载使用夜神安卓模拟器。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则