上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢?

1、Fiddler可以允许“远程连接”。  可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS。

Mac中安装虚拟机软件(比如VMware Fusion),然后在虚拟机中安装一个 Windows7系统(别的Window系统都可以), 然后在Windosw7中安装Fiddler。

2、使用Charles代替Fiddler

接下来,简单介绍下Charles。Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request、response和HTTP headers (包含cookies与caching信息)。

一、官网下载

https://www.charlesproxy.com/download/

点击对应的安装包进行下载。

二、设置Charles

1、破解Charles

访问 https://www.zzzmode.com/mytools/charles/ 生成Charles.jar

用Charles.jar替换如下文件

macOS: /Applications/Charles.app/Contents/Java/charles.jar

Windows: C:\Program Files\Charles\lib\charles.jar

2、设置代理基础信息

替换好charles.jar后,打开Charles,点击菜单栏的Proxy->Proxy Settings,设置代理的端口号,设好后点击OK,代理的端口号设置完成。

三、本地浏览器或手机端设置网络代理

(保证Charles和APP在同一个网络环境)

设置WiFi的手动代理,主机名为:安装Charles的PC对应的IP, 端口

具体方法见【接口工具】接口抓包工具之Fiddler 一文中的“客户端设置代理方法”

注意:手机与电脑连接同一wifi网络,然后查看电脑IP。(Charles中的方法:依次点击Charles中的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,弹窗中出现的IP和端口号即为手机wifi代理中需要设置的服务器和端口)

Charles抓本地PC上浏览器中各网页进行抓包,点击菜单栏中的Proxy,勾选Win Proxy即可。

四、安装并信任Charles的证书

1、在本地PC安装证书

菜单栏中依次点击Help->SSL Proxying->Install Charles Root Certificate

跟着向导一步步操作,选择将所有的证书都放入下列存储(P),安装证书到本地。

在Chrome浏览器设置搜索框中输入证书,点击管理证书,查看证书是否导入并信任证书。

2、在手机端安装证书

方法一:手机浏览器上安装

这一般适用于Ios手机,手机配置好代理后,charles会弹窗询问是否同意连接,点击同意

在手机浏览器safari或chrome中输入http://chls.pro/ssl,下载安装证书。

再进入设置->通用->关于本机->证书信任设置,开启信任证书按钮。

方法二:在PC上下载再传到手机上

这一般适用于Android手机。

下载证书:依次点击Charles中的Help->SSL Proxying->Save Charles Root Certificate...,将Charles证书保存到电脑,然后copy到手机根目录(手机打开开发者选项)。

安装证书:依次点击设置->锁定屏幕和安全->其他安全设置->从设备存储空间安装,找到根目录下的Charles证书,安装Charles证书。

查看证书是否安装:依次点击设置->锁定屏幕和安全->其他安全设置->查看安全证书->用户(或直接查看用户证书)。

每要抓一个新域名的https,一定记着添加到recording settings Include(进行过滤) 和SSL Proxing Settings中去,此时Charles应该能抓HTTPS的包了,不行就重启。

注意TIPS:

1、手机端设置代理前可以正常上网,设置代理后无法上网?

解决办法:关闭windows防火墙。如果防火墙关了还是不行,那么把手机wifi断掉重新连接。如果上述方法还是不行,那么将手机wifi的IP地址设置成静态IP,然后重启Charles软件。

------------------------------------------------------Tanwheey--------------------------------------------------

爱生活,爱工作。

【接口工具】接口抓包工具之Charles的更多相关文章

  1. MAC下调试JSON接口的工具(HTTP抓包工具)

    MAC下的HTTP接口抓包工具,专业级: 专门做JSON接口测试的工具,简单好用!

  2. CentOS 安装抓包工具wireshark-tshark抓包工具

    原文出处:razeen -> https://razeen.me/post/how-to-install-tshark-on-centos.html 准备在服务器上用tshark抓包,分析一下数 ...

  3. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  4. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总,使用mono运行filddler

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  5. 抓包工具 fiddler

    1. 抓包软件 TCP 外挂: 1. 解包工具  2.抓包工具 HTTP 1.前后端交互过程 2.学习的作用 3.模拟网络情况 2 http client server 没有加密 https 证书 非 ...

  6. linux下的抓包工具tcpdump

    1.由netstat查看网络情况,引出的TCP建立连接.终止连接过程,以及TCP状态分析: 2.Soap=XML+HTTP引出的HTTP协议分析: 3.Soap(Simple Object Acces ...

  7. 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程

    转自:http://www.51testing.com/html/80/n-3726980.html   抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程 发表于:2018-6-06 11: ...

  8. 为什么用抓包工具看HTTPS包是明文的

    测试或者开发调试的过程中,经常会进行抓包分析,并且装上抓包工具的证书就能抓取 HTTPS 的数据包并显示.由此就产生了一个疑问,为什么抓包工具装上证书后就能抓到 HTTPS 的包并显示呢?不是说 HT ...

  9. 移动端测试接口--Fiddler抓包工具

    Fiddler抓包工具是一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断 ...

随机推荐

  1. Linux架构之Nginx 负载均衡会话保持

    案例No.50:Nginx负载均衡会话保持 前期准备环境 web01.web02 (web01.web02.db01.nfs01都要优化基本源)[root@web01 ~]# vim /etc/yum ...

  2. [SDOI2011]消防(贪心,图论,树的直径)

    [SDOI2011]消防 题目描述 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情, ...

  3. 前端 js javascript

    新浪SAE公共资源 推荐指数★★★ 支持https http://lib.sinaapp.com/http://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3 ...

  4. Codeforces Round #595 (Div. 3) 题解

    前言 大家都在洛谷上去找原题吧,洛谷还是不错的qwq A 因为没有重复的数,我们只要将数据排序,比较两两之间有没有\(a_j - a_i == 1 (j > i)\) 的,有则输出 \(2\) ...

  5. 三、MyBatis-全局配置文件

    XML 映射配置文件(官方结构) MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息.文档的顶层结构如下: configura ...

  6. w = tf.Variable(<initial-value>, name=<optional-name>)

    w = tf.Variable(<initial-value>, name=<optional-name>)

  7. LeetCode--043--字符串相乘(java)

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2", num ...

  8. XCODE真机调试No Devices Registered

    百思不得期解,摸索发现是由于没有选择真机设备的原因, 在Xcode左上角选择真机设备即可.

  9. 重置Jenkins的构建历史

    1.重置单个JOB的构建历史item = Jenkins.instance.getItemByFullName("your-job-name-here") //THIS WILL ...

  10. redis学习一 String数据类型

    一:概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的 ...