iOS抓包-charles和Stream
简单介绍几种抓包工具
1、Charles
Charles是一款流行的跨平台HTTP代理软件,常用于Web调试,它可以帮助你在开发过程中检查、修改或模拟HTTP/HTTPS请求和响应。以下是如何在iOS设备上使用Charles进行抓包的基本步骤:
第一步:安装Charles
- 下载并安装Charles。你可以从官网下载适合你操作系统的版本(Windows, macOS, Linux)。
- 安装完成后,启动Charles。
第二步:配置iOS设备
- 将你的iOS设备与电脑连接在同一Wi-Fi网络下。
- 在iOS设备上,打开"设置" -> “无线局域网”。
- 查找你当前连接的Wi-Fi网络详情,注意右侧的"i"图标,点击进入网络详细设置。
- 滚动到底部,选择"HTTP代理"选项,切换到"手动"。
- 输入代理服务器的IP地址和端口号。IP地址通常是你的电脑的局域网IP地址,端口号默认为8888(Charles的默认端口)。你可以在Charles的菜单栏中找到关于IP地址的信息。
- 保存设置。
第三步:信任Charles SSL Certificate
为了抓取HTTPS加密流量,你需要在iOS设备上安装Charles的SSL证书。
- 使用Safari浏览器在iOS设备上访问Charles的SSL证书下载页面,这将引导你下载并安装Charles的SSL证书。
- 安装证书后,进入"设置" -> “通用” -> “描述文件与设备管理”,找到刚刚安装的证书并信任它。
第四步:开始抓包
现在,你已经在iOS设备上配置好了Charles代理,接下来就可以开始抓包了。
- 在Charles中,确保"Proxy"->"Enable Proxy"已经被勾选。
- 如果你想抓取HTTPS流量,请确保"Proxy"->"SSL Proxy Settings…"中包含了你想要抓包的域名或者通配符。
- 在你的iOS设备上进行你想要抓包的操作,这时所有的HTTP/HTTPS请求和响应都会被Charles捕捉并显示在其界面中。
第五步:分析抓包结果
在Charles的界面中,你可以看到所有被捕捉的请求和响应,包括URL、请求头、响应头、请求体、响应体等内容。双击任一行可以查看详细信息,这对于调试API接口非常有用。
2、Sniff Master
Sniff Master是一款专业级的网络分析工具,特别适合需要深度分析网络流量的开发者和安全研究人员。与Charles等工具相比,Sniff Master提供了更全面的协议支持和更强大的数据分析功能。
Sniff Master核心功能
- 全协议支持:支持HTTP/HTTPS、TCP/UDP、WebSocket等多种协议
- 实时分析:提供实时流量监控和统计图表
- 深度解析:能够解析加密流量,支持自定义解密规则
- 智能过滤:基于AI的智能过滤系统,可自动识别异常流量
使用场景
- 移动应用开发调试
- API接口测试
- 网络安全分析
- 性能优化
优势对比
| 功能 | Charles | Sniff Master |
|---|---|---|
| 协议支持 | HTTP/HTTPS | 全协议支持 |
| 实时分析 | 基础 | 专业级 |
| 解密能力 | 有限 | 强大 |
| 学习曲线 | 简单 | 中等 |
3、Stream
Stream是一款iOS平台上的抓包工具,特别适合移动端开发者。
一、安装 Stream
-
越狱设备:Stream 要求设备已越狱。如果你的 iOS 设备未越狱,首先需要通过如 unc0ver、checkra1n 等工具进行越狱。
-
Cydia 或 Sileo 应用商店:越狱后,你的设备上应有 Cydia 或 Sileo 这类第三方应用商店。打开它们并搜索 Stream。
-
下载与安装:找到 Stream 后,点击安装按钮。等待安装过程完成。
-
信任证书:首次使用 Stream 时可能需要信任其证书。进入设备的「设置」 > 「通用」 > 「描述文件与设备管理」,找到 Stream 的证书并信任之。
二、使用 Stream
- 启动 Stream:从主屏幕打开 Stream 应用。
- 配置代理服务器:Stream 默认作为 HTTP(S) 代理工作。确保你的设备 Wi-Fi 设置中的 HTTP 代理模式设置为手动,并且代理服务器地址和端口正确填写 Stream 提供的信息。
- 开始抓包:回到 Stream 应用内,点击开始监听网络流量。此时,所有通过代理的网络请求都会被捕获并显示在列表中。
- 过滤与查看数据包:Stream 支持按 URL、HTTP 方法等多种条件过滤数据包。点击具体的数据包可以查看详细的请求和响应头及内容。
4、Proxyman
Proxyman是一款现代化的HTTP调试代理工具,专为macOS设计,提供了直观的用户界面和强大的功能。
主要特点:
- 原生支持Apple Silicon
- 直观的UI设计
- 支持HTTP/HTTPS流量拦截
- 提供请求重放功能
5、Whistle
Whistle是基于Node.js开发的跨平台web调试代理工具,具有以下特点:
- 支持HTTP/HTTPS/WebSocket
- 支持通过规则过滤请求
- 可扩展性强
- 支持多设备同时调试
工具选择建议
对于大多数开发者来说,Charles和Sniff Master是最推荐的两种选择:
- 初级用户:建议从Charles开始,它的界面友好,学习曲线平缓
- 专业开发者:Sniff Master提供了更全面的功能,适合需要深度分析网络流量的场景
- 移动端开发者:可以结合使用Stream或Proxyman进行移动端调试
无论选择哪种工具,都要注意合法合规使用,尊重用户隐私和数据安全。
相关文章:
iOS抓包-charles和Stream
简单介绍几种抓包工具 1、Charles Charles是一款流行的跨平台HTTP代理软件,常用于Web调试,它可以帮助你在开发过程中检查、修改或模拟HTTP/HTTPS请求和响应。以下是如何在iOS设备上使用Charles进行抓包的基本步骤: 第一步:安装…...
三个核心文件:src\App.vue文件,index.html文件,src\main.js文件 的关系与运行流程解析(通俗形象)
一、三个文件的角色定位 用生活比喻理解它们的关系: index.html → “空房子” 像一栋毛坯房,只有基本的墙面和预留的插座(空白的HTML结构)。它的作用是提供一个容器,告诉Vue:“请把装修好的房间…...
云原生系列-K8S实战
K8S实战 1. K8S 资源创建方式2. NameSpace 资源创建3. Pod4. Deployment5. Service6. Ingress7. 存储抽象1. 环境准备2. PV&PVC1) 创建PV池2) PVC创建与绑定 3. ConfigMap 抽取应用配置,并且可以自动更新1) redis 示例2) 创建…...
从责任链模式聊到aware接口
从责任链模式聊到aware接口 责任链是什么? 责任链模式是一种行为型设计模式,将多个对象连接成一条链,并且沿着这条链传递请求,让多个对象都有机会处理这个请求,请求会顺着链传递,直到某个对象处理它为止。…...
ArcGIS地理信息系统空间分析实验教程学习
ArcGIS 作为地理信息系统领域的经典软件,以其强大的功能和广泛的应用场景,成为了众多学者、研究人员和专业人士的首选工具。它不仅可以高效地处理和可视化地理空间数据,还能通过复杂的空间分析模型,揭示地理现象背后的规律和趋势。…...
【3天!!!从0-1完成自动化集成平台开发--Cursor AI赋能0代码基础测试工程师开发平台-亲测有效-保姆级】
利用Cursor AI 赋能测试工程师从0-1开发自动化集成平台 ——含框架设计、实例代码与CI/CD集成 一、技术选型与框架设计1.1 核心框架选择1.2 整体架构图二、从0到1开发步骤2.1 初始化项目2.2 核心模块开发模块1:测试用例管理(Python)模块2:测试执行引擎(pytest)三、实战案…...
Compose 实践与探索十七 —— 多指手势与自定义触摸反馈
上一节我们讲了滑动的手势识别以及嵌套滑动,二者都属于触摸反馈这个大的范畴内的知识。本节我们将深入触摸反馈这个话题,讲一讲多指手势的识别与完全自定义的触摸反馈的实现。 1、多指手势 多指手势可以分为两类: 利用 API 处理预设好的手…...
Spring Boot 整合 ElasticJob 分布式任务调度教程
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 整合 ElasticJob 分布式任务调度教程 一、ElasticJob 简介 ElasticJob 是当当网开源的分布式任务调度解决方案,支持: …...
Go 语言规范学习(6)
文章目录 StatementsTerminating statementsEmpty statementsLabeled statementsExpression statementsSend statementsIncDec statementsAssignment statementsIf statementsSwitch statementsExpression switchesType switches For statementsFor statements with single con…...
centos8上实现lvs集群负载均衡nat模式
1.背景: 个人(菜鸟)学习笔记,学点记下来,给未来的自己看。高手看了也请多指点。 按照课程讲,lvs是我国大神开发的负载均衡程序,被收录进内核,只要安装时内核里有它,它就…...
深度学习篇---模型参数调优
文章目录 前言一、Adam学习(lr)1. 默认学习率2. 较小的学习率模型复杂数据集规模小 3. 较大的学习率模型简单训练初期 4. 学习率衰减策略固定步长衰减指数衰减 二、训练轮数(epoch)1. 经验值设定小数据集与简单模型大数据集和复杂…...
影响HTTP网络请求的因素
影响 HTTP 网络请求的因素 1. 带宽 2. 延迟 浏览器阻塞:浏览器会因为一些原因阻塞请求,浏览器对于同一个域名,同时只能有4个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制&…...
Openssl自签证书相关知识
1.前提 检查是否已安装 openssl $ which openssl /usr/bin/openssl 2.建立CA授权中心 2.1.生成ca私钥(ca-prikey.pem) 初始化 OpenSSL 证书颁发机构(CA)的序列号文件 在生成证书时,ca.srl 的初始序列号需正确初始化(如 01),否则可能导致证书冲突 这会将 01 显示在屏幕…...
浅析车规芯片软错误防护加固的重要性
随着汽车电子技术的飞速发展,汽车已经从传统的机械交通工具转变为高度依赖电子系统的智能移动终端。车规芯片作为汽车电子系统的核心部件,其可靠性和安全性直接关系到车辆的正常运行和驾乘人员的安全。然而,车规芯片在复杂的运行环境中面临着…...
(UI自动化测试web端)第二篇:元素定位的方法_css定位之css选择器
看代码里的【find_element_by_css_selector( )】( )里的表达式怎么写? 文章介绍了第三种写法css选择器,你要根据网页中的实际情况来判断自己到底要用哪一种方法来进行元素定位。每种方法都要多练习,全都熟了之后你在工作当中使用起来元素定位…...
QT自运行程序
终局 搞定了兄弟们,啥也别说了。 不要用xcb,用linuxfb。 用systemd服务。 海康威视的豆干型网络摄像头我这边尝试后,发现在multi-user.target运行级别下,摄像头登录成功了也采集不到画面。 具体愿意暂不清楚,所以如果是涉及摄像头的,建议…...
MPU6050模块详解:从原理到STM32驱动指南(上) | 零基础入门STM32第八十九步
主题内容教学目的/扩展视频加速度传感器电路连接。手册分析。驱动程序,读出数据。能读出3轴数据。 师从洋桃电子,杜洋老师 📑文章目录 一、MPU6050模块介绍1.1 核心特性1.2 模块化优势 二、MPU6050模块连接方法2.1 硬件连接2.2 电源注意事项 …...
STM32 MODBUS-RTU主从站库移植
代码地址 STM32MODBUSRTU: stm32上的modbus工程 从站 FreeModbus是一个开源的Modbus通信协议栈实现。它允许开发者在各种平台上轻松地实现Modbus通信功能,包括串口和以太网。FreeMODBUS提供了用于从设备和主站通信的功能,支持Modbus RTU和Modbus TCP协…...
架构师面试(二十二):TCP 协议
问题 今天我们聊一个非常常见的面试题目,不管前端还是后端,也不管做的是上层业务还是底层框架,更不管技术方向是运维还是架构,都可以思考和参与一下哈! TCP协议无处不在,我们知道 TCP 是基于连接的端到端…...
程序自动化填写网页表单数据
1 背景介绍 如何让程序自动化填写网页表单数据,特别是涉及到批量数据情况时,可以减少人力。下面是涉及到的一些场景,都可以通过相关自动化程序实现。 场景1 场景1,领导安排,通过相关省、市、县、乡镇数据࿰…...
Razer macOS v0.4.10快速安装
链接点这里下载最新的 .dmg 文件。将下载的 .dmg 映像文件拖入 应用程序 文件夹中。若首次打开时出现安全警告【什么扔到废纸篓】,这时候点击 Mac 的“系统偏好设置”-> “安全性与隐私”-> “通用”,然后点击底部的 “打开”。【或者仍然打开】 对…...
常用正则表达式-MAC 地址
MAC地址的定义 物理地址(通常称为 MAC地址,Media Access Control Address)是网络设备在数据链路层(如以太网、Wi-Fi)的唯一标识符。它由设备的网络接口卡(NIC)固化在硬件中,用于在局…...
如何自动化同义词并使用我们的 Synonyms API 进行上传
作者:来自 Elastic Andre Luiz 了解如何使用 LLM 来自动识别和生成同义词, 使术语可以通过程序方式加载到 Elasticsearch 同义词 API 中。 提高搜索结果的质量对于提供高效的用户体验至关重要。优化搜索的一种方法是通过同义词自动扩展查询词。这样可以更…...
一. 相机模组摆放原理
1. 背景: 相机开发时经常出现因模组摆放问题,导致相机成像方向异常。轻则修改软件、模组返工, 重则重新修改堆叠,影响相机调试进度。因此,设计一个模型实现模组摆放纠错很有必要。 2. 原理: 2.1 口诀&am…...
【C++游戏引擎开发】《线性代数》(1):环境配置与基础矩阵类设计
一、开发环境配置 1.1 启用C 20 在VS2022中新建项目后右键项目 1.2 启用增强指令集 1.3 安装Google Test vcpkg安装使用指南 vcpkg install gtest:x64-windows# 集成到系统目录,只需要执行一次,后续安装包之后不需要再次执行 vcpkg integrate inst…...
sqli-labs靶场 less 8
文章目录 sqli-labs靶场less 8 布尔盲注 sqli-labs靶场 每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。 sql注入的基本步骤 注入点注入类型 字符型:判断闭合方式 (‘、"、’、“”…...
基于大模型的知识图谱搜索的五大核心优势
在传统知识图谱与生成式AI融合的浪潮中,基于大模型的知识图谱搜索正成为新一代智能检索的标杆技术,飞速灵燕智能体平台就使用了该技术,其核心优势体现在: 1. 语义穿透力升级 突破关键词匹配局限,通过大模型的深层语义…...
【MySQL】从零开始:掌握MySQL数据库的核心概念(五)
由于我的无知,我对生存方式只有一个非常普通的信条:不许后悔。 前言 这是我自己学习mysql数据库的第五篇博客总结。后期我会继续把mysql数据库学习笔记开源至博客上。 上一期笔记是关于mysql数据库的增删查改,没看的同学可以过去看看…...
人生感悟8
前言 今天,在这里跟各位聊一些看法。为什么现在的歌曲和影视剧越来越没有艺术性和内涵?为什么现在读书的人越来越少? 正文 这里我先声明一点,就像C或者是Java创建variable or constant一样,本文所述内容只限于个人观…...
Java版Manus实现来了,Spring AI Alibaba发布开源OpenManus实现
此次官方发布的 Spring AI Alibaba OpenManus 实现,包含完整的多智能体任务规划、思考与执行流程,可以让开发者体验 Java 版本的多智能体效果。它能够根据用户的问题进行分析,操作浏览器,执行代码等来完成复杂任务等。 项目源码及…...
