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

我们选择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连接请求。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于python+vue家政服务系统flask-django-php-nodejs

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低家政公司的运营人员成本,实现了家政服务的标准化、制度化、程序化的管理,有效地防止了家政服务的随意管理,提高了信息的处理速度和精确度,能够及时、准确地…

9.测试教程-性能测试概述

文章目录 1.常见的性能问题2.为什么要进行性能测试3.性能测试实施的流程4.概念和术语介绍5.性能测试模型6.性能测试方法介绍7.性能测试实施与管理8.性能测试前期准备9.测试工具引入10.性能测试方案11.性能测试设计与开发12.性能测试设计与管理13.性能测试设计与调优14.性能测试…

【.net/.net core】后台生成echarts图片解决方案及.net core html转word方法

工具环境下载: EChartsConvert:https://gitee.com/saintlee/echartsconvert EChartsConvert为生成echarts图片的服务端,用于接收参数和生成echarts图表图片BASE64编码 PhantomJS:Download PhantomJS PhantomJS用来发布EChartsConvert服务…

在 3D 虚拟城市中展示自定义建筑

在本教程中,您将学习如何创建 Cesium 应用程序,用您自己的 3D 模型替换真实城市中的建筑物。您可以使用它来可视化拟建建筑的影响,及如何改变天际线?从特定楼层或房间看到的景色会是什么样子? 我们将介绍如何&#xf…

Web and HTTP

Web and HTTP First, a review… ▪ web page consists of objects ▪ object can be HTML file, JPEG image, Java applet, audio file,… ▪ web page consists of base HTML-file which includes several referenced objects ▪ each object is addressable by a URL, e.g.,…

MAC本安装telnet

Linux运维工具-ywtool 目录 1.打开终端1.先安装brew命令2.写入环境变量4.安装telnet 1.打开终端 访达 - 应用程序(左侧) - 实用工具(右侧) - 终端 #注意:登入终端用普通用户,不要用MAC的root用户1.先安装brew命令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/H…

Databend x CubeFS:面向未来的企业级云原生数据存储与分析

用场景的丰富,企业面临着前所未有的数据存储挑战。大规模数据存储变得日常化,伴随着超大容量和快速变化的I/O需求,传统的存储解决方案已经难以满足企业对弹性、运维效率及总体拥有成本(TCO)的更高要求。这些挑战促使基…

基于傅里叶描述子的手势动作识别,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

数学建模(灰色关联度 python代码 案例)

目录 介绍: 模板: 案例:哪些原因影响结婚率 数据标准化: 灰色关联度系数: 完整代码: 结果: 介绍: 灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之…

由浅到深认识Java语言(9):Eclipse IDE简介

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

华为配置蓝牙终端定位实验

配置蓝牙终端定位示例 组网图形 图1 配置蓝牙终端定位示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 商场管理员希望在已有WLAN覆盖业务的基础上,使用蓝牙定位技术,根据顾客所在的位置,提供商场导航、导…

php 对接Vungle海外广告平台收益接口Reporting API

今天对接的是Vungle广告reporting api接口,拉取广告收益回来自己做统计。记录分享给大家 首先是文档地址,进入到Vungle后台就能看到文档地址以及参数: 文档地址:https://support.vungle.com/hc/en-us/articles/211365828-Publisher-Reporting…

AI助力生产制造质检,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建工业生产制造场景下的瓷砖瑕疵检测识别分析系统

瓷砖生产环节一般经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光,最后进行质量检测和包装。得益于产业自动化的发展,目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说,一条产线需要配数名质检工&…

【C++】1416. 求长方形的周长和面积

问题:1416. 求长方形的周长和面积 类型: 基本运算、整数运算 题目描述: 从键盘读入2个整数,分别代表一个长方形的长和宽,请计算长方形的周长和面积; 输入: 从键盘读入2个整数,用…

STM32利用串口外设发送数据

今天2024.3.21日上午学习了一下基本的串口初始化,利用串口发送一个字节的数据,看时间也快11点了,上午就学习这么多吧,把上午的知识总结一下,串口初始化的过程: 看着图来编写串口初始化的过程: …

GPT-4 vs. ChatGPT:19个弱项问题(多步逻辑推理、概念间接关联)的横向对比

测试对比:在逻辑推理和概念关联方面,GPT-4 显著优于 ChatGPT,准确率从37%提升至100%。智力水平:GPT-4 的思维智力表现可能超过了95%的人。技术进步:短时间内,GPT-4 显著进步,尤其在逻辑能力和多…

超越 GPT-4V 和 Gemini Pro!HyperGAI 发布最新多模态大模型 HPT,已开源

随着AI从有限数据迈向真实世界,极速增长的数据规模不仅赋予了模型令人惊喜的能力,也给多模态模型提供了更多的可能性。OpenAI在发布GPT-4V时就已经明确表示: 将额外模态(如图像输入)融入大语言模型(LLMs&am…

java JVM详解(持续更新)

JVM定义 JVM结构 类装载子系统 双亲委派模型 运行时数据区 方法区(Method Area) 堆区(Heap) 虚拟机栈区 程序计数区 执行引擎子系统 垃圾回收机制 内存分代机制 JVM调优 JVM面试题 JVM定义 JVM它是jre的一部分,也…

静态路由实验(HCIP部分)

1、拓扑信息 2、需求分析 3、IP规划 4、配置截图 5、测试 1、拓扑信息 2、需求分析 1、 R6为isp,接口IP地址均为公有地址;该设备只能配置IP地址,之后不能再对其进行其他任何配置; 分析: R6只需配置一个环回和链路物理接口IP即可 2 、R1-R5为…

导出excel按动态表头导出

一、实现代码 使用Map方式添加head头,对应填充值 /*** 导出查看发车明细* param query* return*/Overridepublic ExportResult monthResourcePlanDepartureProgressDetailsExportExcelData(ResourceSituationListQuery query) {log.info("导出参数:{}",Ds…