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

charls 抓包

一、HTTPS原理:

HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究HTTPS协议原理,最终就是研究SSL/TLS协议。

 

二、抓包

1)抓包的原理

Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,传输过程的数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体

  • 截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
  • 接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容

 

手机抓包

1、打开charles,必须保证手机和电脑是在一个局域网里面
2、手机设置代理
     服务器写你电脑的ip
     端口号呢,默认是8888

完成了以上两个步骤就可以抓到http请求的数据了

如果要抓取https请求的数据,还需要进行如下设置:

3.设置charles ssl代理

点击Proxy->SSL Proxy Settings,弹出一个ssl代理设置界面

   1).Enable SSL Proxying复选框打上勾

   2).在里面添加*.443就可以了

   右击connect的https 弹出框 ,SSL Proxying:Enabled,这样就可以了

4.手机下载ssl证书

1).Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser...   

       会弹出一个提示框,如下显示:

       

       浏览器输入这个地址即可下载证书,记住要用Android自带的浏览器.   地址是:http://charlesproxy.com/getssl

    2).然后按照他的提示安装证书即可.

 

如何模拟手机弱网进行测试?

1.打开Charles,Proxy->Throttle Setting,设置上传下载速度

转载于:https://www.cnblogs.com/URNOTBENBEN/p/10767734.html

相关文章:

  • [树状数组]JZOJ 4658 小Z调顺序
  • 1.1(设计模式)工厂模式
  • Redis 桌面管理工具 RedisDesktopManager 2019.0 发布
  • nginx统计日志中客户端ip访问次数
  • MGR实现分析 - 成员管理与故障恢复实现
  • Android性能优化之内存优化
  • Vmware10中Centos7挂载Windows主机的共享文件夹,提示:Error: cannot mount filesystem: No such device...
  • 如何优化代码中大量的if/else,switch/case?
  • 浏览器的渲染原理简介
  • webpack(2)
  • [ZJOI2019]语言
  • 迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章(快快珍藏)...
  • LeetCode--047--全排列 II(java)
  • Javascript 模块化指北
  • Hadoop高可用原理及环境搭建
  • 2017前端实习生面试总结
  • es6
  • httpie使用详解
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JSDuck 与 AngularJS 融合技巧
  • PAT A1017 优先队列
  • Redis中的lru算法实现
  • 对象引论
  • 给Prometheus造假数据的方法
  • 探索 JS 中的模块化
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (LeetCode) T14. Longest Common Prefix
  • (Note)C++中的继承方式
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • **CI中自动类加载的用法总结
  • ..回顾17,展望18
  • ./configure,make,make install的作用(转)
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core 2.1路线图
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 指南:抽象化实现的基类
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET4.0并行计算技术基础(1)
  • .Net各种迷惑命名解释
  • @staticmethod和@classmethod的作用与区别
  • [CSS] 点击事件触发的动画
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [PyTorch][chapter 66][强化学习-值函数近似]
  • [raspberry pi3] zram设置
  • [Spring Cloud] gateway全局异常捕捉统一返回值