当前位置: 首页 > article >正文

Charles抓包全流程(Mac端+iOS端)

文章目录

    • 与其他抓包软件的对比
      • Fiddler
      • WireShark
    • Charles下载安装及配置
    • Charles抓包实践
    • 小结

Charles Proxy是一个广泛使用的网络调试代理工具,它允许开发者监控和分析所有经过计算机的HTTP和SSL/HTTPS网络流量信息。

与其他抓包软件的对比

Fiddler

  1. Charles 支持多种操作系统,包括 Windows、macOS 和 Linux,而 Fiddler 主要支持 Windows。
  2. Charles 可以模拟弱网络情况,通过限制带宽来模拟,而 Fiddler 通过延长时间来模拟。
  3. Charles 可以只对选定的主机路径限速,而 Fiddler 通常是对所有路径进行限速

WireShark

  1. Wireshark 是一个更为通用的网络抓包工具,它可以捕获所有经过网络接口的数据包,而 Charles 主要专注于 HTTP 和 HTTPS 流量。
  2. Wireshark 提供了非常详细的网络层面的分析,适合深入的网络协议分析,而 Charles 更侧重于应用层面的调试。
  3. Charles 可以对捕获的数据进行修改和重发,而 Wireshark 通常用于数据捕获和分析,不提供修改和重发功能

Charles下载安装及配置

参考文章:
Charles抓包设置流程
只抓手机包,不抓电脑包
MAC抓包设置及iphone设置
Charles官网
【一小时学会Charles抓包详细教程】Charles移动端APP抓包之iOS手机端数据提取实战篇 (8)
抓包工具——【Mac】Charles的下载和安装

本文以MAC电脑及iPhone手机为例。
网上该软件免费版较多,本文在操作时使用的是试用30天的版本,该试用版本会每隔一段时间提醒你这是试用版本,并且在每用30分钟后会强制关闭,因此要非常注意 保存数据。

  1. 安装Charles软件;

  2. 进行代理设置(Proxy Settings),一般代理端口设置为 “8888”;
    在这里插入图片描述

  3. 进行SSL Proxying Settings,一般“host”不填写,即不限制主机,端口包括“80”、“443”,即分别代表HTTP和HTTPS的默认端口;(如果不设置这个,抓取到的包都是乱码)

在这里插入图片描述

  1. 为电脑安装证书,打开“Help-> SSL Proxying-> Install Charles root Certificate”; 安装完该证书后,设置为始终信任;

在这里插入图片描述

  1. 截止此时,Charles已经可以进行电脑端的抓包了,但如果你的目的如果是抓取手机端的数据并且不希望抓取电脑端的数据,记得将“Proxy->macos Proxy”取消勾选;
    在这里插入图片描述

  2. 设置手机端。将手机和电脑在同一局域网下,手动设置“HTTP代理”,将HTTP代理的服务器设置为电脑的IP地址,端口为8888;

  3. 在Charles中设置“帮助-SSL代理-在移动设备或远程浏览器上安装Charles Root证书”(对应的是英文);
    在这里插入图片描述

  4. 打开手机浏览器,输入“chls.pro/ssl”,下载并安装证书,ios10之后需要验证该文件并完全信任证书,在完全信任证书之后,即可在电脑端的Charles对手机的数据进行抓取。

Charles抓包实践

因为我的任务是关注ios端的手机号明文传输以及LBS权限获取的情况,因此我需要针对真正模拟iOS端的手机操作,整个抓包的过程如下:

  1. 首先从APP Store下载所需要针对性抓包的APP;下载完成后记得将手机端的HTTP代理打开以便电脑端能够抓取到相对应的手机数据;(具体方法可以参考上文中Charles的安装和配置);
  2. 将电脑端的Charles打开,如果不想抓取电脑端的数据记得将“Mac OS proxy”关闭;打开之后,Charles自动开始抓取数据;
  3. 打开要抓包的APP,进行登录、模拟使用软件等操作;
  4. 在Charles查看抓取到的网络数据并分析,其中Charles可以进行简单的筛选和查找;
  5. 选中所要保存的数据行,右击选择“Export Sessions…”,将其保存成为一个.chls文件,方便下次重新查看(因为试用版每半个小时强制关闭重启,所以一定要注意保存)。
    在这里插入图片描述

Charles抓包的大致流程就是这样,但由于本文在编辑不方便上传图片,,后续有机会再将其余图片补上。

小结

本文主要介绍了网络数据分析工具中的Charles的使用,并在iOS端和macOS端进行了实践的操作。

如果本文对您有帮助,还麻烦您点一个免费的赞!如果 有错误也欢迎向我反馈。


http://www.kler.cn/a/289523.html

相关文章:

  • 【Pikachu】目录遍历实战
  • Flutter Getx状态管理
  • 俏美韵从心出发,与女性一道为健康生活贡献力量
  • 11张思维导图带你快速学习java
  • HarmonyOS Next星河版笔记--界面开发(4)
  • 基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • SpringBoot学习(3)Redis使用
  • blender中获取虚拟相机渲染图片上每像素对应的纹理上的像素值
  • C_深入理解指针(四) —— 回调函数、qsort使用举例、qsort函数的模拟实现
  • idea问题解决:java: -source 7 中不支持 方法引用 (请使用 -source 8 或更高版本以启用 方法引用)
  • zhidianyun01/基于 ThinkPHP+Mysql 灵活用工+灵活用工源码+灵活用工平台源码
  • EF框架中的修改
  • 利用Spring Boot实现服务降级与熔断机制
  • Spring MVC中的DispatcherServlet:核心调度者
  • 行为型设计模式-备忘录(memento)模式
  • Shell编程基础知识
  • Trm理论 2(Word2Vec)
  • 如何通过k8s来降低运营成本?
  • cuda编程[5]:矩阵乘法--使用静态共享内存优化
  • C/C++语言基础--函数基础(函数定义、调用、生命周期、递归)
  • Linux服务器CPU和IO的监控利器-iostat简介
  • 【重学 MySQL】一、数据库概述
  • 一个好用的Maven依赖冲突解决插件:Maven Helper
  • Flask wtforms组件的作用
  • 【无人机设计与控制】使用 SimMechanics 在 Simulink 中仿真四旋翼飞行器
  • 认识git和git的基本使用,本地仓库,远程仓库和克隆远程仓库