手机抓包也太简单好玩了吧!

我们选择Charles来作为抓包工具,本文将从0到1讲解从电脑端抓包到手机端抓包。

Charles是一款被广泛使用的网络抓包工具,它可以用来监控和调试通过HTTP和HTTPS协议发送和接收的所有网络请求和响应。Charles通常用于网页和网络应用的开发过程中,帮助开发人员理解他们的应用是如何与互联网通信的,以及调试网络相关的问题。

以下是Charles的一些核心特点和功能:

  1. 流量截获: Charles能够截获计算机上的所有HTTP和HTTPS网络流量,包括请求和响应。这使得开发人员能够检查他们的应用在网络上传输的数据。
  2. 流量记录: 所有通过Charles的流量都会被记录下来,以便以后的查看和分析。
  3. SSL代理: Charles可以作为SSL代理服务器来解密HTTPS流量,这让开发人员能够检查加密的通信内容。
  4. 带宽限制: 可以模拟慢速网络连接,以测试应用在不同带宽限制下的表现。
  5. 重放和编辑请求: 不仅可以查看网络请求和响应,还可以修改它们,然后发送到服务器以测试不同的情境。
  6. 断点调试: Charles可以作为一个中间人拦截请求或响应,允许开发人员在这些数据到达服务器或返回到客户端之前进行查看和修改。
  7. 映射本地文件: 将网络请求重定向到本地文件,这可以加速前端开发,并不需要每次都从服务器获取文件。
  8. 集成的Sniffer: Charles具备自动配置浏览器的能力,并能捕获来自手机应用或其他使用网络的软件的流量。
  9. 跨平台支持: Charles提供Windows、MacOS和Linux平台的版本。

安装

官网下载:https://www.charlesproxy.com/download/

从官网下载对应系统的 Charles 最新版本,双击下载的安装包,一路默认安装,安装完成会在桌面生成类似花瓶的图标。

接下来就进入到Charles中,然后做一些最基本的配置。

在自己电脑上抓包很简单,在proxy中打开macOs代理就可以抓到本机上所有的包了。

image.png

然后在电脑上访问一下掘金的首页,就会抓到所有的接口:

image.png

这里我已经提前在电脑上装了Charles的证书,否则https的接口是抓不了的,我们来配置一下电脑上的证书:

image.png

然后会自动打开Mac上的钥匙串访问,我们将这个证书设置为始终信任,否则走代理是拉不到https的数据的。

image.png

到这里电脑端的抓包就OK了。

但是我们的应用场景大部分是在手机端上,因为电脑上可以直接在控制台去看日志,而在App、小程序如果没有后台监控是无法抓到接口的信息的,接下来我们配置一下。

要想手机上抓包,我们先把macoc proxy选项勾掉,这样电脑上就不会进入到Charles的抓包记录中了。

然后在SSL Proxying Settings中配置手机上想要抓包的访问域名和端口,这里域名直接设置*,端口设置443,抓https的包。

image.png

然后在Proxying Settings中配置电脑端代理的地址和端口,用于手机连接。

image.png

接下来打开手机,我的是IOS,连接到和电脑端同一个wifi,然后开启代理,代理的服务器地址和端口就是上面配置的地址和端口,就像这样:

image.png

至此电脑和手机已经关联上了,访问的是同一个局域网,Charles上也可以抓到手机访问的接口了,但是没有数据,这是因为手机上也需要配置Charles安全证书。

image.png

点击以后手机上会有安装的提示,IOS比较特殊,高版本的情况在安装以后还需要在设置中信任一下证书才可以生效。

image.png

至此所有配置就都搞定了,你可以试试手机访问网页,看看Charles,如果有异常的话,可以尝试重启手机和Charles,在手机端打开掘金App,抓到的包如下:

image.png

到这里就都搞定了,我们进入淘宝里看看:

image.png

到这一步,你想抓端上哪个应用的数据就都可以搞定了,如果上面的配置走完还是不行,尝试一下以下排查方案。

  1. 证书问题

    • 证书未被客户端信任:确保服务器使用的证书是由一个客户端信任的证书颁发机构(CA)签发的。
    • 证书已过期:检查证书的有效日期,确保它是当前有效的。
    • 错误的证书名称:证书上的名称需要和服务器的域名一致,否则客户端将无法验证服务器的身份。
  2. 中间证书缺失

    • 服务器需要发送完整的证书链,包括所有的中间证书。如果有缺失,客户端可能无法建立信任链。
  3. 客户端不支持服务器的加密算法

    • 确保服务器的加密设置和客户端支持的算法兼容。在某些情况下,旧的或不安全的加密方法可能已被客户端禁用。
  4. 配置错误

    • 服务器的SSL/TLS配置可能存在错误,需要仔细检查SSL/TLS服务器配置。
  5. SNI 问题(Server Name Indication):

    • 如果服务器上托管了多个域,并且使用了基于SNI的扩展,确保客户端请求中包含了正确的服务器名称。
  6. 客户端问题

    • 客户端操作系统或应用程序可能受到了限制或配置不正确,无法处理当前的SSL/TLS连接请求。

如果喜欢我的文章或者想上岸大厂,可以关注公众号「量子前端」,将不定期关注推送前端好文、分享就业资料秘籍,也希望有机会一对一帮助你实现梦想。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/477509.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录 Day-23

力扣题目 406.根据身高重建队列 思路 这里可以看出来是有两个维度考虑,和力扣题目 135.分发糖果(可以看我day-22的文章) 有点类似。 因此遇到这种两个维度权衡的时候,一定是先考虑一个维度再按照另一个维度来重新考虑排序。 两…

YOLOv9有效改进|使用iRMB与RepNCSPELAN4融合

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!! 一、改进点介绍 iRMB是CVPR2023即插即用的到残差注意力机制。 本文使用iRMB与RepNCSPELAN4进行融合 二、iRMB-RepNCSPELAN4模块详解 2.1 模块简介 这…

Codeforces Round 935 (Div. 3)A~E

A. Setting up Camp 题目分析: 有三种人,内向、外向、综合,内向必须独自一个帐篷,外向必须3个人一个帐篷,综合介于1~3人一个帐篷,我们发现非法情况只会存在外向的人凑不成3个人一个帐篷的情况,因外向不够可…

AI视频激光综合驱鸟装置:全自动、大范围驱鸟 | 真驱鸟科技

在电力系统中,鸟害事故已成为一个不容忽视的问题,直接威胁到电网的正常运行。但鸟类拥有极强的环境适应能力,它们能够在各种环境中生存和繁衍。这种强大的适应性使得传统的单一功能驱鸟器,在面对鸟类时显得力不从心,无…

用OceanBase binlog service 轻松进行数据回滚

背景 在日常的数据库运维过程中,难免会遭遇数据误操作的情形,比如因疏忽而执行了非预期的delete或update操作,这时就需要进行数据回滚。如果在OceanBase中启用了回收站功能,并设置了合适的undo_retention,那么我们可以…

【Frida】10_用鼠标自动标记棋盘上的雷区(一键过关)

🛫 系列文章导航 【Frida】 00_简单介绍和使用 https://blog.csdn.net/kinghzking/article/details/123225580【Frida】 01_食用指南 https://blog.csdn.net/kinghzking/article/details/126849567【Frida】02_常见API示例及功能函数封装(snippets&#…

上海亚商投顾:沪指窄幅震荡微跌 低空经济概念股持续爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日高开后回落,整体呈现小幅调整走势。低空经济概念持续爆发,永悦科技8连板&…

html5cssjs代码 032 边框属性示例

html5&css&js代码 032 边框属性示例 一、代码二、解释 该HTML文件定义了一个网页页面&#xff0c;主要介绍了HTML5中CSS边框属性的用法。 一、代码 <!DOCTYPE html> <html lang"zh-cn"><head><title>编程笔记 html5&css&j…

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

银河麒麟系统安装设备类型选择lvm简单模式之后&#xff0c;数据写入导致失败导致系统重启无法正常加载 一 系统环境1.1 系统版本信息1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式 二 问题描述三 问题修复过程3.1 挂载ISO镜像&#xff0c;引导到字符终端界面3.2 修…

什么是ip公网?

一、概念和作用 在计算机网络中&#xff0c;IP&#xff08;Internet Protocol&#xff09;是一种网络协议&#xff0c;用于将数据包从源主机传输到目标主机。而公网指的是能够被所有人访问的网络&#xff0c;与之相对应的是私有网络。IP公网即指能够在公共互联网中被访问和使用…

关系型数据库mysql(3)索引

目录 一.索引的概念 二.索引的作用 三.创建索引的原则依据 四.索引的分类 五.索引的创建 5.1 普通索引 5.1.1 直接创建索引 5.1.2 修改表方式创建 5.1.3 创建表的时候指定索引 5.2 唯一索引 5.2.1 直接创建唯一索引 5.2.2 修改表方式创建 5.2.3 创建表的时候指…

HTTP协议1

官网学习网址&#xff1a;HTTP | MDN 常规信息 常规请求头信息&#xff1a; 状态码&#xff1a; 200 正常响应 404 未找到资源 500 服务端一场的 3** 重定向 资源缓存 响应头信息&#xff1a; 客户端允许的请求方法类型 Access-Control-Allow-Methods: GET, POST, PUT, DELET…

1.3 Python是什么

Python是什么&#xff0c;Python简介 Python 是荷兰人 Guido van Rossum &#xff08;吉多范罗苏姆&#xff0c;中国程序员称其为“龟叔”&#xff09;在 1990 年初开发的一种解释型编程语言。 图1&#xff1a;Python 的标志&#xff08;Logo&#xff09; Python 的诞生是极具…

几个常用的控件(2)

目录 一、单选按钮Radiobutton和RadioButtonList 1、Radiobutton控件 &#xff08;1&#xff09;button控制方式 &#xff08;2&#xff09;Radiobutton控制方式 2、RadiobuttonList控件 二、列表框ListBox和下拉列表DropdownList 1、ListBox 2、DropdownList 三、面板…

macOS 通过 MacPorts 正确安装 MySQL 同时解决无法连接问题

如果你通过 sudo port install 命令正常安装了 MySQL&#xff0c;再通过 sudo port load 命令启动了 MySQL Server&#xff0c;此刻却发现使用 Navicat 之类的 GUI 软件无法连接&#xff0c;始终返回无法连接到 127.0.0.1 服务器。这是一个小坑&#xff0c;因为他默认使用了 So…

(day 15)JavaScript学习笔记(对象3)

概述 这是我的学习笔记&#xff0c;记录了JavaScript的学习过程。在写博客的时候我会尽量详尽的记录每个知识点。如果你完全没接触过JavaScript&#xff0c;那么这一系列的学习笔记可能会对你有所帮助。 今天继续学习对象&#xff0c;主要是Object.create()、原型链、修改原型指…

IPv6介绍

IPv6&#xff08;互联网协议版本6&#xff09;是用于互联网的最新网络层通信协议&#xff0c;旨在解决IPv4地址耗尽的问题&#xff0c;并提供了多项改进。IPv6于1998年由互联网工程任务组&#xff08;IETF&#xff09;标准化&#xff0c;作为IPv4的后继者。下面是IPv6的一些详细…

Linux - 应用层HTTPS、传输层TCP/IP模型中典型协议解析

目录 应用层&#xff1a;自定制协议实例 HTTP协议首行头部空行正文http服务器的搭建 HTTPS协议 传输层UDP协议TCP协议 应用层&#xff1a; 应用层负责应用程序之间的沟通—程序员自己定义数据的组织格式 应用层协议&#xff1a;如何将多个数据对象组织成为一个二进制数据串进行…

【文末附gpt升级4.0方案】英特尔AI PC的局限性是什么

为什么要推出英特尔AI PC&#xff1f; 英特尔AI PC的推出无疑为AIGC&#xff08;生成式人工智能&#xff09;的未来发展开启了一扇新的大门。这种新型的计算机平台&#xff0c;通过集成先进的硬件技术和优化的软件算法&#xff0c;为AIGC提供了更为强大和高效的支持&#xff0…

【探讨】基于卷积神经网络深度学习模型的光场显微三维粒子空间分布重建

光场显微粒子图像测速技术通过单光场相机即可实现微尺度三维速度场的测量&#xff0c;但单光场相机角度信息有限&#xff0c;导致粒子重建的轴向分辨率低、重建速度慢。基于此&#xff0c;提出一种基于卷积神经网络深度学习模型的光场显微粒子三维空间分布重建方法&#xff0c;…