Charles抓取HTTPS Windows Android iOS 图文详细

文章目录

  • 背景
  • 操作原理
  • windows 安装Charles
  • Charles配置
    • 第一步:配置HTTP代理,这步与抓取HTTP请求是一样
    • 第二步:配置SSL代理
    • 第三步 :为手机配置代理
      • iPhone 代理配置
      • Android 代理配置
    • 第四步:安装根证书
      • iPhone 安装charles证书
      • Android 安装charles证书
      • windows 安装charles证书
  • 抓包
    • 正常抓包
    • 抓包乱码

背景

后端小伙伴接口文档没写,问接口时,回复说web已经实现了,抓包看接口和参数。虚心的应了句,试试看。结果也不是如此,支付下单的后端接口到能直接调用微信支付的仅在微信内打开h5才能自然支付,此时抓包不再是f12的事情了。需要使用代理,本文主要讲windows 上Charles抓手机上的https包,包括Android 和 ios。

操作原理

关键的操作思想:

  1. 构造一个中间人代理,它有能力完成TLS/SSL握手
  2. 弄到一个根证书,并用它生成签名认证的代理服务器证书

Charles就是一个理想的中间人,它支持SSL握手,可以自动根据根证书生成一个签名的服务器证书,并且它的官网为我们提供了一个根证书。
我们要做的就是在客户端安装好这个根证书,然后让我们的操作系统信任它。对App来说,需要设法在IOS或Android上装上这个官网提供的根证书。
完成上述步骤后,App再指定Charles(电脑)为它的代理服务器,这时,App(或手机浏览器)请求的服务器证书就是Charles自动生成的代理服务器证书。如果Charles的根证书已被信任,这个自动生成的代理服务器证书是有效的,使用它App和Charles的TLS握手可以顺利完成。

windows 安装Charles

官网下载或其他网站下载都可以,官网现状是30天免费。
下载完成后双击运行,一直下一步直到安装结束。

Charles配置

第一步:配置HTTP代理,这步与抓取HTTP请求是一样

在这里插入图片描述
选择在8888端口上监听,然后确定。勾选SOCKS proxy,还能截获到浏览器的http访问请求。
说明:这里的8888端口作用是监听端口,手机设置代理时就要填写这个端口。

在这里插入图片描述

第二步:配置SSL代理

在charles的 Proxy选项选择SSL Proxy Settings
在这里插入图片描述
接着在弹出的对话框中点击add,添加需要监视的域名。域名支持 *号通配符,如:抓取所有的https请求,可以填写 *:443
如果想要抓取qq.com的域名,可以填写 *.qq.com
鄙人就填了*:443,外加一个18043端口
在这里插入图片描述

第三步 :为手机配置代理

在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888(上文中提到过)。

iPhone 代理配置

我的是iphone12,系统14.7

  1. 设置 - 无线局域网 找到当前网络,点击信息
    在这里插入图片描述

  2. 接着拉到底
    在这里插入图片描述

  3. 打开配置代理,选择手动,填写电脑ip(图中为我的IP,请修改为your电脑ip),监听端口(8888)进行配置,然后记得存储(保存)
    在这里插入图片描述

Android 代理配置

我的华为 nova3e Android 9

  1. 设置 - 无线与网络 - WLAN 找到当前连接的网络并长按,选择修改网络
    在这里插入图片描述
  2. 勾选 显示高级设置 ,然后显示代理后选择手动
    在这里插入图片描述
  3. 设置代理服务器后记得保存
    在这里插入图片描述

第四步:安装根证书

这里安装根证书是指Charles的根证书,包括电脑和手机都需要安装。手机安装证书时,必须执行到了上面第三步,手机已经设置好了代理(此时不能访问百度或其他网站,不要慌)。

iPhone 安装charles证书

  1. 在Safri上打开Charles的根证书下载网址: chls.pro/ssl 。
    在这里插入图片描述

  2. 下载完之后会提示 到设置app中查看描述文件(证书),点击关闭
    在这里插入图片描述

  3. 设置 - 通用 中可以找到 "描述文件"选项,并打开
    在这里插入图片描述

  4. 找到刚才下载的证书,点击安装,安装过程中需要输入屏幕密码,没有需要设置屏幕密码
    在这里插入图片描述
    在这里插入图片描述

  5. 此时会有提示,只管继续安装
    在这里插入图片描述
    安装成功后如下:
    在这里插入图片描述

  6. 去设置信任(非常关键)
    设置 - 通用 - 关于本机, 拉到底后看到 证书信任设置 点开
    在这里插入图片描述
    在这里插入图片描述
    开启证书信任:
    在这里插入图片描述

Android 安装charles证书

  1. 在自带浏览器上打开Charles的根证书下载网址: chls.pro/ssl 。前提也是Windows charles 先配置好代理(完成第二第三步),手机网络设置好代理服务器。
    在这里插入图片描述
    下载后无法打开无法识别(不要慌)
    在这里插入图片描述
    在这里插入图片描述

  2. 设置 - 安全和隐私 - 更多安全设置 - 加密和凭据
    在这里插入图片描述
    接着选择 ”从存储设备安装“
    在这里插入图片描述
    再选择下载的证书文件
    在这里插入图片描述

  3. 安装证书,需要输入屏幕密码或设置屏幕密码(没有的话),弹框中选择WLAN
    在这里插入图片描述

  4. 安装成功后可以在 ”用户凭据“中查看
    在这里插入图片描述
    在这里插入图片描述
    至此Android 证书安装完成,可以在 受信任的凭据 - 用户 中看到刚才的证书是受信任的
    在这里插入图片描述

windows 安装charles证书

  1. charles 菜单 help - SSL Proxying - Install Charles Root Certificate
    在这里插入图片描述

  2. 弹出如下提示框,选择安装证书
    在这里插入图片描述
    安装过程中不要选择个人用户,要选本地计算机(足够的权限)
    在这里插入图片描述

  3. 选择及那个所有证书放入指定的受信任的存储区
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 安装完成后可以查看证书的详细信息和路径
    在这里插入图片描述
    在这里插入图片描述

抓包

手机代理配置好,证书配置好,手机开始访问期望的接口或网站

正常抓包

能看到明文的参数和响应数据
在这里插入图片描述

抓包乱码

  1. SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations
    在这里插入图片描述
    点击后面的Notes查看原因:
    在这里插入图片描述
    这样提示是因为没有开启ssl(https) 的代理,这样去开启
    在这里插入图片描述
    在这里插入图片描述
    重新开始抓包即可(可不重启charles),需要手机刷新页面
    在这里插入图片描述
  2. 加密数据
    这种情况下是接口开发人员把数据加密传输的,要解密已经不是本文要讲的内容。

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

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

相关文章

Android代码安装apk程序

文章目录一、高低版本兼容代码及配置1.java代码2.AndroidManifest.xml 配置ContentProvider3.paths xml 配置二、老版本代码三、可能出的问题及处理一、高低版本兼容代码及配置 高版本提高了sdcard、 app文件空间的访问权限,高低版本的系统api有一定区别&#xff0…

Android adb 安装apk程序

文章目录ADB简单介绍安装命令安装失败情况adb 安装测试包adb 安装卸载的所有命令摘要前言多数情况下,用户都是从应用商店或某网页下载apk后从手机上直接安装apk文件,在调试或下载到电脑上时候,我们就可以直接通过adb安装到手机。在测试小伙伴…

XML十六进制无效的字符(0x0b 0x0c 0x02)

文章目录解决方法ASCII“字符”1、ASCII 打印字符2、ASCII 非打印控制字符3、扩展 ASCII 打印字符4、ASCII 之外ASCII 字符输入方法与常用地方1、在文档中插入 ASCII 字符2、输入方法前言xml 中包含了非打印字符的情况下,即使是放在cdata 中,在不同平台上…

Android OpenGLES2.0(一)OpenGLES2.0基础介绍

文章目录什么是OpenGL ES?OpenGL ES可以做什么?OpenGL ES版本及Android支持情况OpenGL ES 2.0的优点OpenGL ES 2.0中基本概念顶点着色器片元着色器着色器语言坐标系图形的绘制投影光照纹理映射其它OpenGL ES 2.0过程及理解什么是OpenGL ES? O…

Windows ‘ls‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

文章目录前言原因解决办法前言 Windows和mac混用或Windows与linux混用的情况下,在windows dos窗口随手一个ls,出现了 ‘ls’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原因 ls是linux的命令,不是windows的命令,win…

Linux ls 命令使用介绍

文章目录命令格式命令功能常用参数常用示例示例1 列出文件夹下的所有文件和目录的详细资料示例2 列出当前目录中所有以“t”开头的目录的详细内容,示例3 只列出文件下的子目录命令:示例4 列出目前工作目录下所有名称是以s开头的档案,越新的排…

字符串去重_文件数据去重示例

【摘要】本文介绍小文件与大文件在进行数据去重时的几种处理办法,比如按整行或关键列去除重复数据或留下重复数据,并用 esProc SPL 举例实现。请点击文件数据去重示例了解详情在数据处理业务中,有时需要清除文件中的重复数据或只留下重复数据…

arm ubuntu 编译boost_使用yocto工具编译qt5.9.6总结

运行平台:OKMX6DL-C编译平台:Ubuntu 14.04.6 LTS编译工具:arm-poky-linux-gnueabi-gcc(gcc version 5.3.0 (GCC) )qt源码:qt-everywhere-opensource-src-5.9.6.tar.xz参考:嵌入式开发之Qt-5.9.6…

Linux crond命令使用介绍

目录前言一、crond简介系统任务调度用户任务调度二、crond服务三、crontab命令详解1.命令格式2.命令功能3.命令参数4.常用方法1). 创建一个新的crontab文件2). 列出crontab文件3). 编辑crontab文件4). 删除crontab文件5). 恢复丢失…

Android App屏幕旋转要点

文章目录前言屏幕旋转“预热”android:screenOrientationandroid:configChangesAcitvity onConfigurationChanged(newConfig: Configuration?)代码控制方向跟随系统重力感应总结前言 关于app横竖全屏切换,大多数属于音视频播放类app,电子书、文档类的应…

HTML静态页面获取url参数和UserAgent

目录前言原因解决1、静态页面获取url的参数2、取useragent的值3、测试页面前言 接技术支持小伙伴信:有用户反馈app在华为设备上下载不了,以为是服务器覆盖的范围不够或服务器挂了,直到另一个客服同事发来一个录屏,基本知道原因&a…

Android手机或平板设置浏览器的UserAgent

目录前言修改UserAgent实操华为手机自带浏览器Chrome(谷歌浏览器)QQ浏览器UC浏览器360浏览器前言 移动互联网盛行的当下,网页在电脑端和移动设备(包括手机,平板以及一些基于Android系统定制的设备)的适配主…

android jni fork()子进程不运行_Android高级面试谈谈Zygote的理解

Zygoto的作用Zygoto的作用有两个:1. 启动SystemServer2. 孵化应用进程SystemServer也是通过Zygoto来启动的,因为SystemServer需要Zygoto初始化好的一些系统资源,包括常用的类、JNI函数、共享库等等,这些资源直接从Zygoto继承过来对…

送给女朋友的情话

风拂鹊桥霓裳起 与卿漫话风雨里 初识 那一年端午 带着无比喜悦与期待 搭上去福州的火车 那一年端午 从福州到泉州 再到柴塔 连地名都好有神秘的感觉 迷糊的眼镜和疲倦的神情,刚好匹配得上 从此有了我们的传说 到了2022的七月七,还是一如既往 小特效 图…

lazada发货_Lazada发货用什么物流?费用要多少?

有买家到Lazada店铺下单之后,卖家就要安排订单发货了。Lazada发货的管控也是比较严格的,各位卖家要及时发货。小编也遇到不少新手卖家的咨询,问Lazada发货方式有哪些?以及发货流程是怎样的?下面针对这些问题&#xff0…

导入表格只有一行 帆软_万万没想到!把x个表格合合合合成一份,10分钟就搞定...

正值年中,老板交代把上半年各个地区提交的数据表格做个汇总。怎么办?一个地区一张表打开华南区的表,复制】-打开汇总表-【粘贴】再打开华北区的表【复制】-打开汇总表-【粘贴】……类似的工作任务还真不少各个单位上交的报名表各部门的生产计…

vim插件自动补齐_给VIM添加REPL

REPL: 读取-求值-输出”循环(英语:Read-Eval-Print Loop,简称REPL)是一个简单的,交互式的编程环境。python作为一个动态语言,REPL在开发过程中起到了很大的作用。可是一直以来用vim写python没有一个很好的&…

Linux ping 详细介绍(win也适用)

多数情况下,能否访问某台电脑或服务器,很自然的使用ping xxx.xxx.xxx.xxx,这是最简单的ping形式,同时看到ping几个包之后就停止(windows)了,linux 会一直ping下去,直到按ctrlc或其他组合键。在windows平台或linux平台&…

巨一自动化工业机器人_工业机器人和自动化设备连接器

来源:大比特商务网 作者:Ann Thryft随着工业物联网(IIOT)不断扩大,给工厂带来了更多电子设备。 这些设备往往暴露在恶劣环境中,包括灰尘、油、液体和极端温度等。 同时,特别是随着协作机器人装配在工厂生产线上&#x…

pvrect r语言 聚类_R语言常用统计方法包+机器学习包(名称、简介)

上期帮大家盘点了一下R中常用的可视化包,这期将简要盘点一下关于统计分析与机器学习的R包,并通过简要介绍包的特点来帮助读者深入理解可视化包。本文作者为“食物链顶端”学习群中的小伙伴,感谢他们的分享。话不多说我们一起来看看吧&#xf…