由于工作方向的原因,很久没有用过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上的请求了。

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

  1. Fiddler对安卓高版本进行抓包解决方案以及分析 进阶二

    今天是2021年的最后一天了,多分享一些干货吧!看过上一章节教程后会有同学疑惑,我也一步一个脚印的,跟着流程走也设置了代理以及安装了证书,有的同学会发现 为什么手机不能够连接网络了呢?细心一点的同学会 ...

  2. 【电子取证:抓包篇】Fiddler 抓包配置与数据分析(简)

    Fiddler 抓包配置与分析(简) 简单介绍了Fiddler抓包常用到的基础知识,看完可以大概明白怎么分析抓包数据 ---[suy999]   Fiddler 抓包工具,可以将网络传输发送与接受的数 ...

  3. Fiddler学习之——对Android应用进行抓包

    Fiddler做为实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多 ...

  4. 用Fiddler对Android应用进行抓包

    前言 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带 ...

  5. 如何用Fiddler对Android应用进行抓包

    Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包 ...

  6. fiddler Android下https抓包全攻略

    fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP ...

  7. Fiddler2如何对Android应用进行抓包

    Fiddler2抓包工具的下载和使用  2018-04-22 18:06:37     0     0     0 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个h ...

  8. Fiddler抓包配置具体步骤

    如何查看手机连接的无线wifi的IP? 打开手机,选择设置->进入设置页面选择WLAN->进入WLAN管理,点击手机已经连接的路由器->点击进入查看,即可看见IP地址 如何查看自己电 ...

  9. 如何使用charles对Android Https进行抓包

      Charles.png charles是一款在Mac下常用的截取网络封包工具,对Android Http进行抓包,只要对手机设置代理即可,但对Android Https进行抓包还是破费一些功夫,网 ...

随机推荐

  1. potoshop cs6安装配置16错误解决办法(win10系统)

    问题截图如下: 解决方法: 右击图标选择属性:选择兼容性-->兼容模式-->以管理员身份运行-->应用 然后就可以打开了!

  2. IO流入门+简单案例实现

    IO流 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 总 ...

  3. 视频Video放器的部分实例方法

    ***创建一个视频播放器实例 let myPlayer = this.$video(myVideo, { controls: true, autoplay: 'muted', preload: &qu ...

  4. Blazor技术开发了一个访客管理系统

    简单介绍一下系统功能 该系统为了在疫情期间能很好管理访客登记做好风险管控,同时可以整合智能设备做到自动确认并跟踪访客的行动轨迹,该项目完全开源. 系统流程 访客可以同通过手机进行预注册,同时上传照片, ...

  5. ASP.NET Core的几种服务器类型[共6篇]

    作为ASP.NET CORE请求处理管道的"龙头"的服务器负责监听和接收请求并最终完成对请求的响应.它将原始的请求上下文描述为相应的特性(Feature),并以此将HttpCont ...

  6. javascript中的Ajax基础(一)

    一.手写一个ajax 1 const xhr = new xmlHttpRequest() 2 3 xhr.open(请求方式:post get, 请求地址, 同步或者异步) 4 5 xhr.onre ...

  7. Vue_基础功能循环、计算、绑定、事件处理、组件

    1 <!DOCTYPE html> 2 <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xht ...

  8. sql索引优化思路

    [开发]SQL优化思路(以oracle为例) powered by wanglifeng https://www.cnblogs.com/wanglifeng717 单表查询的优化思路 单表查询是最简 ...

  9. Springboot 整合 MyBatisPlus[详细过程]

    Springboot 整合 MyBatisPlus[详细过程] 提要 这里已经将Springboot环境创建好 这里只是整合MyBatis过程 引入Maven依赖 添加MyBatisPlus启动依赖, ...

  10. go thrift 开发

    thrift 从 0.9.1版本开始,可以完美支持 go 语言,可以完美的实现跨语言的 rpc 调用了.下面以 go 和 java 语言相互调用为例. 编辑协议文件,go 语言示例 /** examp ...