zoukankan      html  css  js  c++  java
  • 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,设置上传下载速度

  • 相关阅读:
    如何正确使用 Composer 安装 Laravel 扩展包
    sql之left join、right join、inner join的区别
    mysql decimal类型与decimal长度用法详解
    mysql数据库操作
    linux下如何查看某软件是否已安装
    MySQL数据类型和常用字段属性总结
    mysql数据库字段类型的选择原则
    linux shell 指令 诸如-d, -f, -e之类的判断表达式
    常用的Homebrew命令
    windows下安装php5.5的redis扩展
  • 原文地址:https://www.cnblogs.com/URNOTBENBEN/p/10767734.html
Copyright © 2011-2022 走看看