前言

面试官:面试官问我iOS开发过程中使用了那些抓包工具?

回复:Charles,Wireshark(可以抓取长连接包)等工具

面试官:然后紧接着面试官问我,有没有抓过https的包?

回复:使用Charles 工具抓过,

面试官:那你说说Charles抓https的抓包原理?

回复:如果直接问https的原理(可查看http与https的爱恨情仇),还可以直接回复,问了个这个就懵逼了;之前确实没有仔细考虑过这个问题

Charles抓包原理

经过自己的考虑和网上搜索查询之后得出下面结论,

图片为挪用别人博客,感觉很完美,就直接使用了附上博客链接:https://blog.csdn.net/fox64194167/article/details/80387696

  1. 客户端向服务器发起HTTPS请求
  2. Charles拦截客户端的请求,伪装成客户端向服务器进行请求
  3. 服务器向“客户端”(实际上是Charles)返回服务器的CA证书
  4. Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。
  5. 客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
  6. Charles拦截客户端的响应,用自己的私钥解密对称密钥(Charles拿到了对称密钥),然后用服务器证书公钥加密,发送给服务器。
  7. 服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
  8. Charles拦截服务器的响应,替换成自己的证书后发送给客户端
  9. 至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

还有个问题就是问抓取长连接:可以使用工具Wireshark,

使用过程程需要连接usb,并且在终端授权:rvictl -s 手机UUID(可以使用xcode,iTools 等工具查看)

总结:

HTTPS抓包的原理还是挺简单的,简单来说,就是Charles作为“中间人代理”,拿到了 服务器证书公钥 和 HTTPS连接的对称密钥,前提是客户端选择信任并安装Charles的CA证书,否则客户端就会“报警”并中止连接。这样看来,HTTPS还是很安全的。

面试题之--Charles抓包原理相关推荐

  1. 浅谈HTTPS通信机制和Charles抓包原理-by:nixs

    转载请注明出处:https://blog.csdn.net/zwjemperor/article/details/80719427 主页:https://blog.csdn.net/zwjempero ...

  2. Charles 抓包原理

    t Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的.HTTPS协议是在HTTP协议的基础上,添加了 ...

  3. fiddler、charles抓包的作用及原理

    一.抓包工具作用:就是将网络传输发送与接收的***数据包***进行截获.重发.编辑.转存等操作,也用来检查网络安全.抓包也经常被用来进行数据截取等(抓包就是抓的数据). 二.测试过程中为什么会需要进行 ...

  4. Charles抓包https

    Charles抓包https 灰灰是只小贱狗 2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3 抓取HTTPS请求包,对数据进行排查检验 1.安装Charles 2.电脑 ...

  5. 学完这篇Charles抓包教程,我直接把fiddler卸载了

    01.charles简介 charles是一款非常优秀的抓包工具,全平台支持,在mac,windows,linux上都可以使用,既可以抓取web端的包,也可以抓app端的包. charles主要的功能 ...

  6. 【干货】手把手教你如何使用Charles抓包

    一.为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到.很多时候都是如此,如果一个方案不行, ...

  7. 全网最详细charles抓包工具详细教程,实战教程(细致)

    目录:导读 一.前言 二.在PC端抓https包 三.在PC端抓https包 四.在移动端抓http包 五.在移动端抓https包 一.前言 charles相当于一个插在服务器和客户端之间的" ...

  8. charles抓包https证书下载

    charles抓包https 概述 在charle和手机端都安装证书,其他和http请求一样 原理: 看过来 1.charles证书下载 下一步 下一步* 打开电脑端设置 ![在这里插入图片描述](h ...

  9. 想用Charles抓包,某些app不让抓怎么办

    本文出处:http://blog.csdn.net/chaijunkun/article/details/116133490,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建 ...

最新文章

  1. flutter依赖某些插件,点击运行会出现错误
  2. R可视化包ggplot2设置轴范围
  3. Redis使用及工具类
  4. java 连接sqlitle_ASP连接SQL2005数据库连接代码
  5. 自己做计算机三级,计算机三级辅导:自己“做”软驱
  6. 蔡高厅老师 - 高等数学阅读笔记 - 15 广义积分和伽马函数 定积分的应用(面积和体积) -(67、68、70、71)
  7. u-boot移植随笔:u-boot启动流程简图
  8. DTP模型之一:(XA协议之一)XA协议、二阶段2PC、三阶段3PC提交
  9. MyBatis中一对多和多对一处理
  10. python语言程序设计实践教程陈东_20193323实验三《Python程序设计》实验报告
  11. 云闪付华为P9指纹_华为云闪付app下载-华为云闪付 安卓版v9.0.11.324-pc6手机下载...
  12. 2021年危险化学品经营单位安全管理人员最新解析及危险化学品经营单位安全管理人员模拟试题
  13. 从初级开发者到资深架构师,看这
  14. 华为往事(十四)---第一次去美国
  15. Jupyter 进行文字、图片格式编辑
  16. asp实训报告摘要_asp制作网页的实训报告总结
  17. 2010/12/19英语单词背诵
  18. 2020年环境经济学国际研讨会(EEC 2020)
  19. 插件3-滑动验证(geetest)
  20. SQL--基本数据类型

热门文章

  1. Ubuntu上安装驱动模块
  2. dede手机站对应的php,织梦dedecms配置手机wap站点并绑定二级域名
  3. detectron2使用自定义的数据集
  4. OpenCV-Python教程简介|一
  5. 在PyTorch中使用卷积神经网络建立图像分类模型
  6. 使用chrome下载youtbe视频
  7. 容城向导有计算机课,容城县职业技术教育中心2021年招生简章
  8. matlab的mcr问题,使用matlab时遇到的一些异常
  9. LK光流对两张图配准
  10. Ubuntu重装系统后flash_tool下载不了版本,解决方案