iOS技术之通过Charles抓包http、https数据

前提

需要先安装抓包工具Charles

安装后的代理基本设置
  1. 调出端口设置页面 菜单栏操作 Proxy->Proxy Settings...

  2. 设置端口

选中Proxies面板->HTTP Proxy 下的Port: 后填入 8888 -> 点击OK完成

3.设置手机代理

和电脑连接相同网络, 点击代理; 选择手动,服务器内容填写电脑的ip, 端口:8888

4.效果查看

打开手机的浏览器,查看Charles是否捕获到了网络请求注意:

当前只能抓取http的包内容, 是不能直接查看https请求内容的,因为请求本身是加密的。

抓取https请求的设置

  1. 手机安装证书

手机浏览器输入框选的这个地址,

记得加协议头http://访问的, 直接下载描述文件到本地, 查看当前下载的描述文件:设置->通用->VPN与设备管理->Charles Proxy CA 点击安装; (如果有多个建议可以把之前的全删除, 在重新下载描述文件,防止有缓存)

2.Charles设置代理https

菜单栏操作 Proxy->SSL Proxying Settings...

开启SSL代理->输入要抓取https接口的域名->OK

3. 效果查看

备注: 如果抓取接口是https并且开启了证书校验,则抓包是不成功的, 需要使用代码在网络请求处把证书校验给关闭, 代码如下:

复制代码
    // 是否允许无效证书, 默认为NO
    manager.securityPolicy.allowInvalidCertificates = YES;
    // 是否校验域名, 默认为YES
    manager.securityPolicy.validatesDomainName = NO;
相关推荐
XUE-52113145 小时前
路由策略与路由控制实验
运维·网络·网络协议·智能路由器
加油20195 小时前
如何快速学习一个网络协议?
网络·网络协议·学习·方法论
coder4_6 小时前
OpenSSL 加密算法与证书管理全解析:从基础到私有 CA 实战
https·openssl·ssl/tls·加密算法·ca证书
十碗饭吃不饱9 小时前
WebClient工具调用HTTP接口报错远程主机断开连接
网络·网络协议·http
liu****10 小时前
基于websocket的多用户网页五子棋(九)
服务器·网络·数据库·c++·websocket·网络协议·个人开发
心态特好10 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
失散1311 小时前
分布式专题——33 一台新机器进行Web页面请求的历程
分布式·tcp/ip·http·路由器·交换机
jh_cao17 小时前
(3)SwiftUI 的状态之上:数据流与架构(MVVM in SwiftUI)
ios·架构·swiftui
方君宇19 小时前
iOS App小组件(Widget)设置透明背景
ios
Yefimov19 小时前
DPDK:从网络协议栈的角度来观察微内核
后端·网络协议