记录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 ...
随机推荐
- Python -- 值转换为字符串的两种机制
可以通过以下两个函数来使用这两种机制:一是通过str函数,它会把值转换为合理形式的字符串,以便用户可以理解:而repr会创建一个字符串,它以合法的Python表达式的形式来表示值.下面是一些例子: & ...
- Linux 查看内存命令
Linux 查看内存命令 top命令, Linux的top命令提供Linux资源使用情况的实时更新信息.不仅可以查看Linux内存,也可以查看CPU以及各个进程之间的对资源的占用情况.使用方式如下: ...
- (opencv01)读入图像
(opencv01)Opencv之读入图像 读入图像 img = cv2.imread(filepath, flags) filepath : 要读入图片的完整路径 flags : 读入图片的标志 ...
- Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯IM-SDK的工程模板Demo
前言 开发一个支持全国的IM聊天,可以有基本的功能,发送文本.图片.文件等等相关内容. 腾讯IM产品 概述 腾讯即时通信IM是腾讯推出的即时聊天程序,当前时间为2020年3月(腾讯IM的优 ...
- vscode配置及插件
编辑vue时候的用户配置 { "workbench.colorTheme": "Solarized Dark", // 主题 "editor.dete ...
- 🔥 LeetCode 热题 HOT 100(71-80)
253. 会议室 II(NO) 279. 完全平方数 class Solution { public int numSquares(int n) { // dp[i] : 组成和为 i 的最少完全平方 ...
- 【SpringCloud微服务实战】搭建企业级应用开发框架(一):架构说明
SpringCloud分布式应用微服务系统架构图: SpringCloud分布式应用微服务系统组件列表: 微服务框架组件:Spring Boot2 + SpringCloud Hoxton.SR8 + ...
- Server-Speaks-First 有点坑,Linkerd 2.10 中的协议检测和不透明端口
协议检测(Protocol detection),顾名思义,允许 Linkerd 自动检测 TCP 连接中使用的协议. Linkerd 的设计原则之一是"just work",协议 ...
- Windows 系统安装 git基础小白的简单操作包含基本输入命令
首先 去官网下载git应用 https://git-scm.com/downloads 点击前往 安装的操作也比较简单,一直点击下一步 安装完成之后 在空白桌面点击是否有 Git Gui ...
- Kerberos相关的安全问题
用户名枚举 原理 不存在的用户 存在的用户 通过这个比较就可以写脚本改变cname的值进行用户名枚举. 利用 https://github.com/ropnop/kerbrute/ kerbrute. ...