iOS抓包-charles和Stream

简单介绍几种抓包工具

1、Charles

Charles是一款流行的跨平台HTTP代理软件,常用于Web调试,它可以帮助你在开发过程中检查、修改或模拟HTTP/HTTPS请求和响应。以下是如何在iOS设备上使用Charles进行抓包的基本步骤:

第一步:安装Charles

  1. 下载并安装Charles。你可以从官网下载适合你操作系统的版本(Windows, macOS, Linux)。
  2. 安装完成后,启动Charles。

第二步:配置iOS设备

  1. 将你的iOS设备与电脑连接在同一Wi-Fi网络下。
  2. 在iOS设备上,打开"设置" -> "无线局域网"。
  3. 查找你当前连接的Wi-Fi网络详情,注意右侧的"i"图标,点击进入网络详细设置。
  4. 滚动到底部,选择"HTTP代理"选项,切换到"手动"。
  5. 输入代理服务器的IP地址和端口号。IP地址通常是你的电脑的局域网IP地址,端口号默认为8888(Charles的默认端口)。你可以在Charles的菜单栏中找到关于IP地址的信息。
  6. 保存设置。

第三步:信任Charles SSL Certificate

为了抓取HTTPS加密流量,你需要在iOS设备上安装Charles的SSL证书。

  1. 使用Safari浏览器在iOS设备上访问Charles的SSL证书下载页面,这将引导你下载并安装Charles的SSL证书。
  2. 安装证书后,进入"设置" -> "通用" -> "描述文件与设备管理",找到刚刚安装的证书并信任它。

第四步:开始抓包

现在,你已经在iOS设备上配置好了Charles代理,接下来就可以开始抓包了。

  1. 在Charles中,确保"Proxy"->"Enable Proxy"已经被勾选。
  2. 如果你想抓取HTTPS流量,请确保"Proxy"->"SSL Proxy Settings..."中包含了你想要抓包的域名或者通配符。
  3. 在你的iOS设备上进行你想要抓包的操作,这时所有的HTTP/HTTPS请求和响应都会被Charles捕捉并显示在其界面中。

第五步:分析抓包结果

在Charles的界面中,你可以看到所有被捕捉的请求和响应,包括URL、请求头、响应头、请求体、响应体等内容。双击任一行可以查看详细信息,这对于调试API接口非常有用。

2、Sniff Master

Sniff Master是一款专业级的网络分析工具,特别适合需要深度分析网络流量的开发者和安全研究人员。与Charles等工具相比,Sniff Master提供了更全面的协议支持和更强大的数据分析功能。

Sniff Master核心功能

  1. 全协议支持:支持HTTP/HTTPS、TCP/UDP、WebSocket等多种协议
  2. 实时分析:提供实时流量监控和统计图表
  3. 深度解析:能够解析加密流量,支持自定义解密规则
  4. 智能过滤:基于AI的智能过滤系统,可自动识别异常流量

使用场景

  • 移动应用开发调试
  • API接口测试
  • 网络安全分析
  • 性能优化

优势对比

功能 Charles Sniff Master
协议支持 HTTP/HTTPS 全协议支持
实时分析 基础 专业级
解密能力 有限 强大
学习曲线 简单 中等

3、Stream

Stream是一款iOS平台上的抓包工具,特别适合移动端开发者。

一、安装 Stream

  1. 越狱设备:Stream 要求设备已越狱。如果你的 iOS 设备未越狱,首先需要通过如 unc0ver、checkra1n 等工具进行越狱。

  2. Cydia 或 Sileo 应用商店:越狱后,你的设备上应有 Cydia 或 Sileo 这类第三方应用商店。打开它们并搜索 Stream。

  3. 下载与安装:找到 Stream 后,点击安装按钮。等待安装过程完成。

  4. 信任证书:首次使用 Stream 时可能需要信任其证书。进入设备的「设置」 > 「通用」 > 「描述文件与设备管理」,找到 Stream 的证书并信任之。

二、使用 Stream

  1. 启动 Stream:从主屏幕打开 Stream 应用。
  2. 配置代理服务器:Stream 默认作为 HTTP(S) 代理工作。确保你的设备 Wi-Fi 设置中的 HTTP 代理模式设置为手动,并且代理服务器地址和端口正确填写 Stream 提供的信息。
  3. 开始抓包:回到 Stream 应用内,点击开始监听网络流量。此时,所有通过代理的网络请求都会被捕获并显示在列表中。
  4. 过滤与查看数据包: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进行移动端调试

无论选择哪种工具,都要注意合法合规使用,尊重用户隐私和数据安全。

相关推荐
无职转生真好看28 分钟前
HTTP和HTTPS区别
网络协议·http·https
牧歌悠悠2 小时前
【考研】计算机网络
tcp/ip·计算机网络·考研
秋名RG2 小时前
HTTP 1.0和2.0 有什么区别?
网络·网络协议·http
罗念笙2 小时前
HTTP1.0和2.0有什么区别?
网络协议·http
SecPulse3 小时前
流影---开源网络流量分析平台(四)(分析引擎部署)
运维·服务器·人工智能·网络安全·开源·流影
浩浩测试一下3 小时前
网络安全之超强Linux信息收集:渗透测试与应急响应的基石(命令超强集合工作手册)
linux·运维·服务器·安全·web安全·网络安全·系统安全
qq_570416303 小时前
Posix API与网络协议栈第一篇
网络·网络协议
byxdaz4 小时前
SRT协议
udp
花之亡灵4 小时前
.net 6 + vue3中使用SignaIR实现双向通信功能
前端·javascript·笔记·websocket·.net·信息与通信
榆榆欸5 小时前
5.实现 Channel 类,Reactor 模式初步形成
linux·网络·c++·tcp/ip