接口测试05

目录

Charles概述

  Charles是什么

  常用的抓包工具

  Charles支持的技术

Charles原理

  浏览器原理

  Charles原理

设置Charles代理

  设置Charles代理

  Charles基本操作

HTTPS会话

  HTTPS概述

  启用HTTPS数据流解密

  过滤数据流

一、Charles概述

  1)Charles是什么

    Charles是最强大最好用的Web调试工具之一--用于网站抓包分析

    它能够记录所有客户端和服务器的HTTP、HTTPS请求,可以对网络中传输的数据包进行截获、重发、编辑等操作,也可以用来检查流量

  2)常用的抓包工具

    httpwatch、sniffer、wireshark、fiddler。。。

  3)Charles支持的技术

   

 

二、Charles原理

  1)浏览器原理

    当用户访问某个HTML文件时,浏览器首先获得该HTML文件,然后进行语法分析。如果这个HTML文件包含图片、视频等信息,浏览器会再次访问Web服务器,依次获取这个图像、视频文件,然后把HTML和图像、视频文件组织起来,显示在屏幕上

    

 

 

   2)Charles原理

    Charles是以web代理服务器的形式进行工作的

    

 

    生活中的代理

    

 

 

三、设置Charles代理

  当Charles启动后

    代理地址是:help--local IP Addr

    

    端口默认为8888

    

 

 

  charles基本操作

    1.可以先停止捕获会话流

      proxy--stop recording

      

 

    2.删除现有的会话信息

    

 

    3.启动捕获会话流

  

 

 

    4.打开要测试的网站

    如:www.baidu.com

    5.charles会话列表中即可看到会话信息

  

 

 

  HTTPS概述

    遇到的问题

      当在charles上访问HTTPS网站时,默认情况下看到的内容较少,得不到期望的请求和响应列表,可以看到一个或多个unknown

    HTTPS概述

      HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),全称为安全的套接字层超文本传输协议。HTTP协议是在HTTPS请求和底层的TCP/IP网络连接之间增加了一层加密的(SSL或TLS)连接,请求在该加密的连接上发送。由于使用了加密的协议,可以防止网络中间件或观察者查看或修改HTTP数据流

    启用HTTPS数据流解密

      使用Charles对HTTPS会话进行抓包,进行如下设置:

        

 

      将证书安装到本地,注意这里需要双击证书设置证书被始终信任,不然默认是未信任的

      

 

       手机端安装证书

      在Charles菜单栏中选择Help->SSL-Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser

         

      这时候,Charles会弹出一个窗口,如下

      

 

      提示内容为,在设备中先甚至好代理,其中ip为红色横条显示的区域,端口为8888,然后通过设备的默认浏览器(这里是Safari)输入chls.pro/ssl

      访问,即可安装证书。输入chls.pro/ssl回车后便会提示安装证书

       

 

 

      配置需要访问的https路径

        安装完证书后,需在Charles配置下所需抓包的https路径,在Charles菜单栏中选择Proxy->SSL Proxy Settings,然后勾选Enable SSL Proxying,然后添加一个路径,其中Host是需要访问路径的域名,端口默认443

      

 

 

      访问HTTPS页面时,可以看到HTTPS协议会话

    

 

 

   过滤数据流

     为了避免Charles解析不感兴趣的数据流,可以进行设置

    方法一:

      

 

 

    方法二:菜单栏选择“Proxy”->"Recording Settings",在弹出窗口中选择include,在点击“Add”,弹出的窗口中输入需要监控的协议,主机地址,端口号等,添加一个项目,如下图所示:

      

 

 

    方法三:在想过滤的网络请求上右击,选择“Focus”,之后在Filter一栏勾选Focussed一项,如下图所示

      

 

  

  Web Session列表

    Web Session(Web会话)列表

    显示Charles所捕获到的每个Session(会话)的简短摘要信息 

    

 

    Web Session列表注意包括

      code:http响应状态码

      methed:http请求方法

      host:域名

      path:url路径

      start:请求开始时间

      duration:请求执行时间

      size:响应数据大小

      status:请求状态

      info:一般不显示

      图标:图标表示该会话的含义

 

 

 

 

 未完待续。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-11-19 23:10  frank__wang  阅读(107)  评论(0)    收藏  举报