由于工作方向的原因,很久没有用过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. Java中if else条件判断语句的执行顺序

    学习目标: 掌握 if else 条件判断的使用 学习内容: 1.if语法 if(boolean表达式) { 语句体; } if后面的{}表示一个整体-代码块,称之为语句体,当boolean表达式为t ...

  2. spring源码编译完整步骤拿来即用!

    1.版本选择 1)源码版本:spring5.3.x 2)gradle版本:根据spring源码的工程路径:gradle/wrapper/gradle-wrapper.properties文件查看gra ...

  3. 让我们写一个 Win32 文本编辑器吧 - 2. 计划和显示

    让我们写一个 Win32 文本编辑器吧 - 2. 计划和显示 如果你已经阅读了简介,相信你已经对我们接下来要做的事情有所了解. 本文,将会把简介中基础程序修改为一个窗体应用程序.并对编辑器接下来的编辑 ...

  4. c语言实现双链表的基本操作—增删改查

    //初始化 Node*InitList() { Node*head=(Node*)malloc(sizeof(Node)); if(NULL==head) { printf("内存分配失败! ...

  5. Struts2-获取值栈对象与结构

    1.获取值栈对象有多种方式 (1)使用ActionContext类里面的方法获取值栈对象 @Override public String execute(){ //1.获取ActionContext类 ...

  6. nfs客户端的一次处理

    为什么要说这个呢,由于节点环境不一致,导致在重建pod时,我们暂且叫该pod为 cxpod,cxpod所在宿主机出现了问题现象如下:一.cxpod始终处于创建中 ContainerCreating [ ...

  7. C++五子棋(四)——走棋原理及权值计算

    原理 计算 计算每个落子点的**"权值"**,找到权值最大的落子点 对于每个空白点,分别计算周围的八个方向 不妨以该空白点作为参照原点,以水平向右作为X轴正方向,以竖直向下为Y轴正 ...

  8. Python Json分别存入Mysql、MongoDB数据库,使用Xlwings库转成Excel表格

    将电影数据 data.json 数据通过xlwings库转换成excel表格,存入mysql,mongodb数据库中.python基础语法.xlwings库.mysql库.pymongo库.mongo ...

  9. 【LeetCode】567. 字符串的排列

    567. 字符串的排列 知识点:字符串:滑动窗口 题目描述 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列.如果是,返回 true :否则,返回 false . 换句 ...

  10. Elasticsearch上手指南

    目录 ElasticStack及Elasticsearch介绍 Elasticsearch安装 Elasticsearch入门 Elasticsearch配置 Elasticsearch REST A ...