fiddler的安装以及使用同时对Android 与IOS 抓包配置进行分析 进阶 一

由于工作方向的原因,很久没有用过APP抓包工具了,有那么一天遇到了bug需要协助开发工程师进行定位分析,然后又重新梳理了一下之前常用的抓包工具,这里重点介绍一下目前市面上最流行的几款抓包工具,根据自己需求进行选择一款属于自己的就行了,学不在多在于精

一、fiddle  

1.Fiddler是一个独立的应用,可以调试PC、Mac或Linux系统和移动设备的之间的通信,支持大部分框架如java、.net、java、Ruby,需要设置代理。

2.能够暂停Http通讯,并且允许修改请求和响应方便进行安全测试,也可以设置检查点做功能测试

3.通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control头,那么他就不会被缓存在客户端。

4.可以通过Composer进行接口测试

二、firebug

1、Firebug是firefox下的一个扩展,它除了能进行网络分析还能够调试所有网站语言,如js、Html、Css等,支持各种浏览器如IE、Firefox、Opera,、Safari。

2. Firebug是开源工具,能够将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,方便我们对网页进行调优。

3.Firebug编辑、删改任何网站的CSS、HTMLDOM 以及JavaScript 代码,可以通过小箭头定位页面元素

三、Charles

1、支持http与https代理  可以调试PC、Mac或Linux系统和移动设备的之间的通信,支持大部分框架如java、.net、java、Ruby,需要设置代理。

2、支持流量控制(可以使用它来模拟特殊场景进行app的弱网控制)

3、支持接口并发请求以及短点调试

四、这次主要介绍一下Fiddler 的安装以及常用常用功能模块:

1、为什么是fiddler?

抓包工具有那么多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下:

a.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。

b.Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。

c.Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

2、什么是Fiddler?

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序

五、下载以及安装

• 打开官网,官网下载地址是 https://www.telerik.com/download/fiddler

• 打开以后选择你的相关信息如下图:

 • 点击Download按钮进行开始下载:

 安装:

 • 下载完成后双击安装包,如下图:

  • 根据提示一路点击,当点击完成Install按钮,等待一会时间后即可安装成功。

 • 点击Close按钮 ,这里就算安装成功了

六、Fiddler的配置

电脑端监听

 •  我们双击打开软件,进入到如下的一个界面,然后点击某一个请求,你会发现请求的内容是一堆明显不对的文字,然后该请求的左边是一个锁的样式,联想到https加密,你会发现原因可能是没有配置Fiddler。然后解释一下右边的默认返回内容,第一句是**“这是一个CONNECT隧道,加密的HTTPS流量通过该隧道流动。”**,就证实了我们的猜测,果然是因为https加密的原因。

 •  那么如何配置FIddler来解析这些加密的请求呢?方法一是查官网的安装文档,二是看提示,软件公司还是很人性化的在返回内容里面提示了需要在哪里设置,就是第二行那一句:"enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option."

 •  我们按照提示来进行设置,先在左上角的工具栏里面找到Tools,然后依次选择Options、HTTPS ,然后勾选Decrypt HTTPS traffic选项,勾选后安装证书。(尽量把Ignore server 、Check for.....都勾选上)

 •  安装证书两种方法:

 •  勾选后点击右边的Actions按钮选择**“Trust Root Certificate”**选项,然后全部选择是就行了。
 •  勾选后点击右边的Actions按钮选择第二个选项将证书导出到桌面,然后再在对应的浏览器里面添加即可。
 •   然后我们再打开一个新的网页(例如百度),查看请求

 •  至此,已经可以监听PC端浏览器的请求了。

手机端监听

安卓手机

但是如果你想要对手机上的app进行抓包怎么办呢,那么你还需要进行以下操作:

 •  首先你的Fiddler所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)。

 •  查看你的本机IP地址,首先win + R 打开命令栏 输入cmd 后进入命令框 在命令框中输 ipconfig 既可以查看本地 ip 地址

 •   fiddle 配置连接信息:Tools > Options >Connections
- 端口默认是8888,你可以进行修改。
- 勾选Allow remote computers to connect选项,然后重启Fiddler,再次打开时会弹出一个信息,选择ok即可。

 

•   打开你的手机,找到你所连接的WIFI,长按选择修改网络,输入密码后往下拖动,然后勾选显示高级选项,然后在代理一栏选择手动,再将你先前查看的IP地址和端口号输入进去,然后保存。(一定要输入刚刚自己查看的ip,不要输入下面示例的ip)

•   最后安装手机证书,在手机浏览器一栏输入电脑的IP地址和端口号
示例:192.168.1.157:8888

•  进入一个网页,点击最下面那个FiddlerRoot certificate下载证书,下载成功后在设置里面安装,安装步骤:打开高级设置->安全->从SD卡安装证书->找到证书文件->点击后为证书命名点击确定即可安装成功(每个版本手机安装方式不同,低版本的直接点击下载的文件即可安装证书)(我的手机是华为的,具体过程请根据实际机型百度查找,关键词是从SD卡安装证书)

•  测试一下,比如在手机上打开抖音app,找到评论的那一个请求。

 

 •  可以看到我们已经成功的找到了评论所对应的那个请求

手机端监听

IOS 手机

同样手机打开浏览器,访问 电脑ip:fiddler配置的端口:
如: 192.168.1.157:8888,如果出现下图界面,证明连接成功

 

点击上图所示:you can dowunload the FiddlerRoot certficate。
下载fiddler证书。
下载后打开手机设置-通用-描述文件与设备管理,进行证书安装。安装后如下:

 

 

 证书安装后,打开设置-通用-关于本机-证书信任设置,信任刚刚安装的证书。(这步非常重要)

 完成

现在你可以在电脑上用fiddler抓取ios上的请求了。

posted @ 2021-12-31 14:10  ganfd  阅读(229)  评论(0编辑  收藏  举报