zoukankan      html  css  js  c++  java
  • Charles抓包

    
    

    1. 接口抓包测试工具 Charles

    1. Charles是一款Http代理服务器Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信

    1. 功能:

      1. 截取http和https网络抓包

      2. 支持和重发网络请求

      3. 支持修改网络参数

      4. 支持网络请求并修改

      5. 支持弱网测试

     

    2. 抓取移动设备发送的http请求

    1. 将移动设备连接到Charles客户端,cmd命令行输入ipconfig,查看本机连接无线网络的IP地址,这个地址作为移动设备连接Charles客户端的代理地址。

       

    2. 打开Charles客户端,点击Proxy->Proxy Settings菜单,可以设置移动设备连接到Charles的端口(8888),这样移动设备代理配置需要的ip地址和端口号都有了。

       

      与模拟器相连要把 Windows proxy 勾掉,在测试时就不会被本机Http请求所干扰。否则本地系统(如果通过浏览器发送请求)发送出去的请求都能被截取下来。

       

    3. 打开手机wifi,设置所连接的wifi的代理网络;wifi代理设置为手动,代理的服务器ip填写上一步骤中查看到的电脑ip,端口填写上一步骤提到的charles的服务端口

       

    4. Charles提供两种查看封包的页签,一个是Structure(结构),另一个是Sequence(序列),Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。

       

       Filter : 过滤,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求
       
       Overview : 查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。
       
       对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。 
       
       URL:进行网络请求的链接;
       
       Status:当前状态,complete表示请求完成;
       
       Responce Code:返回码。不同的接口,不同的请求结果,返回码都不同;
       
       Protocol:使用的协议;
       
       Method:请求方式,如GET请求,POST请求等;
       
       Kept Alive:判断当前是否正在链接(活跃);
       
       Content-Type:发送的内容类型,如这里用的是XML文本,以UTF8的方式发送;
       
       Client Address:客户端的IP地址;
       
       Remote Address:远程服务器的IP;
       
    5. Filter : 过滤,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求

       

      Overview : 查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。

       

      对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。

       

      URL:进行网络请求的链接;

       

      Status:当前状态,complete表示请求完成;

       

      Responce Code:返回码。不同的接口,不同的请求结果,返回码都不同;

       

      Protocol:使用的协议;

       

      Method:请求方式,如GET请求,POST请求等;

       

      Kept Alive:判断当前是否正在链接(活跃);

       

      Content-Type:发送的内容类型,如这里用的是XML文本,以UTF8的方式发送;

       

      Client Address:客户端的IP地址;

       

      Remote Address:远程服务器的IP;

       

      *Timing:*

       

      Request Start Time:请求开始的时间;

       

      Request End Time:请求结束的时间;

       

      Response Start Time:返回开始的时间;

       

      Response End Time : 返回结束的时间;

       

      Duration : 总时间;

       

      *Size:*

       

      Request Header :请求的头部大小;

       

      Response Header:返回的头部大小;

       

      Request : 请求发送的大小;

       

      Response:返回数据的大小;

       

      Total:所有数据大小;

       

      Request Compression : 请求压缩;

       

      Response Compression : 返回压缩;

       

      Request : 查看请求内容(底下的Headers,Query String,Cookies,Raw。)

       

      Headers:发送请求的头部信息;

       

      Query String : 发送参数列表;

       

      Cookies: 浏览器缓存;

       

      Raw:发送的原生数据,包括了头部和参数;

       

      Reponse : 查看响应内容

       

      Headers:是返回的头部信息;

       

      Text:返回信息(除去头部)后的文本;

       

      Hex:返回信息的16进制表示;

       

      XML:我返回的数据是XML。如果你返回的是JSON,这里就会显示JSON;

       

      XML Text:如果你返回JSON,这里会显示JSON Text;

       

      Raw:返回的所有原生数据,包括头部;

       

      Summary: 查看发送数据的一些简要信息(主机,状态码,数据的类型,header和body大下,加载时间,总时间)

       

      Chart: Summary中简要信息以图表形式展示

       

      Notes: 其他信息


     

    ☺李卑微是一个没有感情的搬运工﹝οωσ﹞ ☞ charles常用功能总结

    ☺李卑微是一个没有感情的搬运工﹝οωσ﹞ ☞ charles常用功能总结


    没有结果就是最好的结果。 -Linux哲学
  • 相关阅读:
    Cornerstone-忽略(隐藏)文件
    ios开发xcode8+ 无需开发者账号,app打包ipa
    ssh-ajax登陆action返回字符串
    手动编译包含两个import自写类的java类。
    关闭IO资源
    java聊天室二(客户端)
    java聊天室一(服务器)
    文件IO常用操作
    Hive启动时的棘手问题的处理
    对于java反射的理解
  • 原文地址:https://www.cnblogs.com/Stubbornlyn/p/13158809.html
Copyright © 2011-2022 走看看