记录Mac下使用Charles抓包
抓包
简述
在网络应用如后端系统,app,小程序等的开发过程中,免不了接口可能会报错,但是一般在app中或者小程序中没有便捷的console控制台,而且线上环境也不会开启调试模式,所以想看一下接口的响应就显得比较麻烦,最近,博主就遇到小程序接口报错,想查看却抓不了包详情的问题:(。每次都是找测试同学,但是测试同学也有自己的事情,所以就想着自己抓包。
以前在windows电脑下,用过fidder工具来经常做安全测试,现在用mac电脑,fidder目前也已经支持mac系统了好像,但奈何有点贵,而且还未找到免费的用一哈,所以就换了一个Charles的工具,实战操作了一番,在此记录一下,帮助有需要的人。
环境装备
此处罗列的是个人的配置,其他参考就行
- mac os 11.1,无线网连接
- Charles软件安装,版本:4.6.2
- ios14设备,连接同一无线网
开始
说明:如果只是抓取本机的http请求,那么打开Charles自动配置就可以实现抓取,如果需要抓取https的接口或者抓取手机上的网络请求,参考下面步骤操作
证书安装
Help --> SSL Proxying --> Install Charles Root Certificate

点击上述菜单后会进入到钥匙串里:

如果不是完全信任名称旁边的图标会是红色的。双击charles钥匙串,选择【显示简介】,将信任改为始终信任;如下

SSL代理配置
Proxy --> SSL Proxy Settings


先勾选Enable SSL Proxying,然后配置抓取路由,Add点击
Host: *
Port: 443
- 标识所有网址都抓取,443代表Https,当然此处的host可以配置成自己想抓的网站地址前缀只抓取特定网站
至此,电脑端https就可以实现抓取了,可重新抓取试试。
如果想要实现抓取手机上App端或者小程序端的接口怎么办呢?请继续参考下面
开启代理


勾选Enable transparent HTTP proxying,然后下方的端口port默认为8888,和本机端口不冲突占用就行,我这里填的是8889,记住这个端口号
手机端配置
设置手机代理
设置手机代理需要注意手机与电脑连接的是同一个wifi,保证在同一局域网内即可,查看电脑端的IP地址,mac下进入命令窗口输入ifconfig(或者在设置->网络中查看)
手机上点击连接上的wifi,找到代理设置,不同手机可能方式不同哈,然后选择手动,就刚刚电脑上的IP填入到此处,charles中配置的端口号填入到这里,存储,代理就配置好了。


恭喜,到这里的话,手机上http请求就可以实现抓取了
手机上安装证书
要想实现手机上的https接口也可以抓取,还需要配置一下。如下,点击 Help --> SSL Proxying --> Install Charles Root Certificate on a Mobile Device or Remote Browser,接着会弹出一个info框,上面指示了手机上需要配置的ip和端口等提示信息。
手机下载证书,将chls.pro/ssl复制到浏览器中,会提示安装证书,这里安装证书按各自手机型号安装就可以。安装好只好,一定要记得去将证书设置为信任模式,比如ios下,去设置 -> 通用 -> 关于本机 -> 证书信任设置 打开信任

OK,到这里就已经配置完成了,就可以实现在电脑端抓取手机端的http/https接口,下面来看下效果;

问题总结
抓取显示unknow或乱码等问题
出现这个问题的可能原因:
- 首先检查证书配置是否正确,手机端以及电脑端的;
- 是否已经信任证书;
- 电脑端Charles代理的端口是否一致;
还有其他问题可以参考这里,unknown、乱码问题等
这么一操作,就不用麻烦测试同学了,后续移动端接口的问题,可以自己抓包排查一下啦~
记录Mac下使用Charles抓包的更多相关文章
- Mac下使用Charles抓包Android
原文地址:http://fanjiajia.cn/2018/11/21/Mac%E4%B8%8B%E4%BD%BF%E7%94%A8Charles%E6%8A%93%E5%8C%85Android/ ...
- Mac下使用Charles抓包https接口
1 官方网站下载,安装好Charles https://www.charlesproxy.com/download/ 2 安装ssl证书 3 信任证书 4 手机iPhone配置 ,获取证书url 5 ...
- mac 下使用Charles抓包华为手机app
安装Charles:https://www.cnblogs.com/sea-stream/p/11577418.html 需要保证手机与电脑连接同一个Wi-Fi设置mac charles,打开代理 2 ...
- Mac 下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- MAC下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- 【这特么是个坑。。。】iOS 10.3下解决Charles抓包ssl证书信任问题
针对近期iOS 10.3以上的系统charles抓https信任问题 前言 最近iPhone系统更新到ios 10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示 ...
- Mac 环境 下使用Charles 抓包Http/Https请求
实现目标 在Mac 上 对 iOS 真机 和 模拟器 进行 Http/Https抓包 使用工具 Mac 上 Charles 4.2 安装 参考链接 1. 和 链接 2. 抓包 http 请求 (1 ...
- 【接口工具】mac环境下使用Charles抓包Https请求
Charles支持针对Https包解析.具体安装导航请参考“[接口工具]接口抓包工具之Charles” 操作流程 电脑安装证书: Help-SSL Proxying-Install Charles R ...
- MAC下使用Charles抓取安卓模拟器数据
一.安装Charles,这个不多记录 二.Charles数据乱码问题(参照这篇文章 http://blog.csdn.net/huanghanqian/article/details/52973651 ...
随机推荐
- 理解 React Hooks 心智模型:必须按顺序、不能在条件语句中调用的规则
前言 自从 React 推出 hooks 的 API 后,相信大家对新 API 都很喜欢,但是它对你如何使用它会有一些奇怪的限制.比如,React 官网介绍了 Hooks 的这样一个限制: 不要在循环 ...
- Linkerd 金丝雀部署与 A/B 测试
本指南向您展示如何使用 Linkerd 和 Flagger 来自动化金丝雀部署与 A/B 测试. 前提条件 Flagger 需要 Kubernetes 集群 v1.16 或更新版本和 Linkerd ...
- 第十六篇 -- QListWidget与QToolButton(功能)
效果图: 添加的部分,就是对几个action绑定了槽函数,完成相应的功能. listWidget操作的都是item,添加一个item,删除一个item,插入一个item等等.那么只需要知道item的几 ...
- 第一章 Vant的引入和基本使用
Vant UI组件库基本使用 一.Vant官网 https://youzan.github.io/vant/#/zh-CN/ 二.安装Vant npm install --save vant 三.安装 ...
- 【阿菜用工具】利用 Web3.js 在 ganache 上部署以及调用智能合约
合约部署 要部署的合约 pragma solidity ^0.4.23; contract test { uint256 value; function setValue(uint256 _value ...
- 百度nlp api接口测试
date:2021/7/8 使用postman测试 网址:https://ai.baidu.com/ 在百度AI首页-开放能力-自然语言处理-语言处理基础技术 点击技术文档 在左侧文档目录选择API参 ...
- 让自己写的电子笔记连文带图全平台兼容(MarkDown图片显示兼容)
目录 一.工具使用 语言使用:MarkDown 简介 使用原因 使用方法 软件使用:Typora 简介 环境设置搭建 1)搭建图床 2)配置PicGo 3)配置typora 4)测试 图片上传测试 平 ...
- Hadoop 3.1.1 - Yarn 服务 - 总览
YARN 服务 总览 Yarn 服务框架为在 Yarn 原生环境里长时间运行的服务,提供了一流的支持和接口.简言之,它扮演了容器编排系统的角色,统一管理 Yarn 上运行的容器化服务.它同时支持 Do ...
- Vue2中父子组件通信的几种常用方法
源码地址 点击查看演示源码 Vue2父子传参:props 首先在父组件中引入子组件,然后以属性的方式将数据传递给子组件 父组件: <template> <div class=&quo ...
- RSA算法之学习
一.RSA算法 RSA是非对称加密算法中的代表,它的重要性不言而喻,为了弄清楚RSA算法,我们一起来完成一项任务: 背景:现在是疫情时代,假如小明和女朋友被迫在两个城市,小明为了表达感情,想发给对方一 ...