一、charles工具简单使用

1、录制操作

录制请求、清空录制请求:

  

两种展示请求的视图方式:

   

2、录制请求的简单分析

(1)请求的总览页面Overview:可查看请求路径、请求方式、请求时间等有关该请求的内容

  

(2)request:由本机发送出去的请求

request的请求数据:

  

request-cookies:

  

(3)response:由服务器返回的数据

  

三、filter:过滤

在sequence视图下,过滤请求数据。

  

二、抓包

1、抓包的简单介绍

  抓包:(1)浏览器发出的所有请求,都可以用抓包工具抓到;也可以查看服务端返回的信息;

     (2)如果开发不写接口文档,可以通过charles抓包,获取接口数据:请求参数等内容;

     (3)charles可以模拟弱网测试(测试app时需要模拟2G网络、3G网络);

     (4)https的请求:是花钱的,是加密传输的,没有公司的证书是抓不到的。

              一般的https是抓不到的,可以在charles中导入证书去进行抓包。

              (现在IOS必须要求是https的请求。)

2、抓包的作用  

(1)定位问题(可以定位是服务端还是客户端的问题)

    例如:发现一个bug,不能确定是后端的问题,还是前端的问题,则可以通过抓包工具抓包,

        查看response服务器返回的信息是否正确,若服务器返回的信息正确,则证明是前端的问题,

        反之则是后端的问题。

(2)篡改请求(篡改请求能用于测试系统的其他的异常情况)

     例如:a.可以测试后端传回一个特别长的字段(超出字段的限制),查看前端是否能正常显示,

        前端是否有限制,客户端是否校验好;(比如测试查询余额的时候,传回一个超长数字)。

       b.或测试前端向后台传一个超长的数据,后台是否有做限制。

      

三、篡改数据练习

a.篡改请求

第一步:在所需要拦截的请求处,点击右键,勾选断点(Breakpoints)。

    

第二步:清空所有抓取到的请求

第三步:重新访问请求,会自动跳出charles的编辑请求的界面

    

第四步:查看浏览器接收到的返回信息

    

b.篡改返回:

第一步:与篡改请求操作一致,在所需要拦截的请求处,勾选断点;

第二步:清空抓取的请求;

第三步:重新在浏览器访问页面,会首先弹出篡改请求的页面,此处不篡改,直接继续执行;

    

第四步:弹出篡改返回的页面,修改返回内容;

    

第五步:查看浏览器接收到的页面显示。

    

四、手机抓包

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

a.查看charles设置的端口号:Proxy->Proxy Settings

    

b.手机设置

 

3、手机设置弱网(Proxy->Throttle Settings)

(1)Proxy->Throttle Settings

  

(2)Throttle preset:设置网络,比如3G、4G、8M/s、16M/s等;

Bandwidth(kbps):设置上传下载速度

  

附:抓包工具还有fildder等。

附:抓包工具只能修改本机的返回值发送值,若修改其他机器的数据,则涉及到安全测试了,不会安全测试。

另有搜索到的博客地址,可用于学习:

http://www.cnblogs.com/jiayuchn-test/p/8875105.html

https://www.cnblogs.com/mawenqiangios/p/8270238.html

https://blog.csdn.net/dongyuxu342719/article/details/78933618

最新文章

  1. 将Apache手动安装成Windows的服务
  2. 中软培训第一周复习总结 --简单的HTML 与CSS
  3. iOS开发中获取WiFi相关信息
  4. Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学
  5. js----方法是否加括号的问题
  6. c++未指定返回值
  7. 【转载】NIO服务端序列图
  8. C++explicit关键字
  9. js中的数据类型及其转换
  10. ubuntu apache2配置详解(含虚拟主机配置方法)
  11. 云脉提供表单识别API接口自助接入
  12. python列表类型中的陷阱
  13. 201521123024 《Java程序设计》第5周学习总结
  14. 【POJ2823】Sliding Window
  15. Linux查询进程和结束进程
  16. char,String,int类型互转
  17. hdfs fsimage namenode 应该设置多少堆内存合适
  18. SpringCloud入门之Maven系统安装及配置
  19. 关于埃博拉病毒的基本知识(ABC)
  20. jenkins 调用 k8s api

热门文章

  1. java成神之——Stream和Optional
  2. Python Twisted系列教程10:增强defer功能的客户端
  3. windows右键打开方式里面添加新的应用程序
  4. Win7 IE11 F2无法切换版本
  5. 在Linux-PC上建立kdump调试环境
  6. BIO与NIO、AIO的区别(转)
  7. MySQL分组条件,group by order by limit 顺序
  8. Perl 变量:标量变量、数组变量、哈希变量和变量上下文
  9. 当property遇上category
  10. sql server2008 跨服务器之间复制表数据