# 安装证书
每一款抓包工具在使用前,都需要在手机上安装对应的证书才能够正常使用。
下面是在 iOS 系统上安装证书的方法步骤
打开手机设置 -> 无线局域网 -> 点击已连接的 wifi 旁边的提示符号 -> 滑到最下面的配置代理,将代理改成手动,服务器地址指定为电脑本机地址,端口号指定为抓包工具监听的端口号。
手机上打开浏览器,输入抓包工具的证书下载地址,下载 iOS 系统的证书。下载后的证书打开设置就能看到,叫做描述文件,点击可以进行证书安装。
点击通用 -> 关于本机 -> 滑到最下面的证书信任设置,将新安装证书的信任开关打开。
此时,证书的安装就完成了。
补充
如果想要删除证书,可以到【设置 -> 通用 -> VPN与设备管理】进行删除。
# Proxyman
Proxyman (opens new window) 是一款高性能的 macOS 抓包工具,界面简洁优美,配置使用简单,个人感觉并不输于 Charles。
下面是在 MacOS 和 iOS 系统上配置使用 Proxyman 的方法步骤。
1. 下载安装 Proxyman 软件
2. 启动 Proxyman
启动完成后,可以看到 Proxyman 监听的 ip 地址和端口号。
3. 手机上安装并信任 Proxyman 的安全证书
首先将手机上的代理配置成上一步中的 ip 地址和端口号。
然后手机上打开浏览器,输入 http://proxy.man/ssl
,下载安装并信任证书。
现在就可以开始愉快抓包了。
有一点需要注意的是,如果是抓取 https 请求,需要在请求域名处右键,并选择【启用 SSL 代理】,才能看到请求返回的内容。
# mitmproxy
mitmproxy (opens new window) 是一款免费开源的抓包工具,配置使用简单,安装完成后,只需要一条命令启动,并在手机上安装好证书即可开始愉快抓包。
下面是在 MacOS 和 iOS 系统上配置使用 mitmproxy 的方法步骤。
1. 安装 mitmproxy
brew install mitmproxy
2. 启动 mitmweb
打开终端执行以下命令,执行完成后会自动在浏览器中打开抓包页面。mitmweb 默认会监听 8080 端口号,也可以通过 -p 指定端口号。
mitmweb -p XXXX
3. 手机上安装并信任 mitmproxy 的安全证书
启动 mitmweb 之后,会看到如下信息:
首先将手机上的代理配置成电脑本机地址,端口号指定为 8084。
然后手机上打开浏览器,输入 https://mitm.it
,下载安装并信任证书。
现在就可以开始愉快抓包了。
# Charles
# 抓包
# mock 数据
使用 charles (opens new window) 还可以进行数据 mock。使用方法如下:
- 在本地新建一个 data.json 文件,里面存放着我们需要的数据。然后点击 charles 菜单栏的 Tools -> Map Local Settings -> Add,作如下配置。注意第二张图的两个多选框都要勾选上。
注意
域名要写 localhost.charlesProxy.com,不要写 localhost。
关掉所有的代理,比如浏览器的上网代理等。
在代码中这么使用。
useEffect(() => {
axios.get('/api/todolist')
.then((res) => {
this.setState(() => {
return {
list: res.data.data
}
})
})
.catch(() => { alert('error') })
}, [])
2
3
4
5
6
7
8
9
10
11
- 然后在浏览器中访问 http://localhost.charlesproxy.com:3000/,就可以看到我们从本地接口请求到的数据了。