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;
相关推荐
福大大架构师每日一题2 小时前
mediamtx v1.21.2发布:UDP、JWT、RTSP、RTMP、HLS、WebRTC全面修复,稳定性与安全性再提升
网络协议·udp·webrtc
茶底世界之下2 小时前
四角变换后的最小包围视口,为什么不能只把宽高取整?
ios·swift
茶底世界之下3 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
曹小强wxx3 小时前
Flutter 局域网设备发现:UDP 广播 + mDNS 双路合并,以及靠谱的在线判定与断线重连
物联网·网络协议·flutter
花间相见3 小时前
【计算基础|网络09】TCP(上):三次握手与四次挥手
网络·网络协议·tcp/ip
wdfk_prog3 小时前
LWIP教程 08:从 `tcp_write()` 到 ACK 清队列——TCP 数据发送、窗口与回调
网络·网络协议·tcp/ip
anew___4 小时前
《从零手写操作系统 (37):网络协议栈基础——Socket接口与TCP状态机》
网络·网络协议·tcp/ip
Lsetea4 小时前
OpenSSL读取加密私钥报bad decrypt:passin与口令来源排查
linux·https·ssl证书·openssl·私钥
天神哥哥啊5 小时前
cocos联调注意事项-IOS
ios·cocoa·xcode
终端安全笔记5 小时前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios