抓包(Charles工具入门)

一、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

转载于:https://www.cnblogs.com/Noul/p/9111808.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探秘创造力

为什么80%的码农都做不了架构师?>>> 创造力,在很多行业和领域都被视为神奇的存在,大家都希望自己的创造力能够无限,感觉创造力已经被神话了。其实,一个简单问题可能很少人能够明确:”创造力是天…

Chrome Android 60.X+ 不能自动播放audio音频的解决办法

Chrome Android等一些浏览器默认限制了自动播放音频视频等,需要用户有点击的动作后才可以播放。这样的原因在于很多用户流量需要付费,而限制了自动播放可以避免用户在不知情的情况下产生高额的流量费用。 在60.X版本之前,chrome://flags中有一…

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

2019独角兽企业重金招聘Python工程师标准>>> 在发布完:框架设计:实现数据的按需更新与插入的改进 之后: 有网友表示不理解,于是这里给出一篇简单的说明对比,表示下改进后好处。 一:场景一&#…

Java异常详解及如何处理

来源:Java异常详解及如何处理 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户&…

TransactionScope 的基本原理简介

C# 的事务编程 1 Db事务 DbConnection 中创建基于当前连接的 DbTransaction 2 使用TransactionScope ,创建环境事务 一旦创建,在这个环境包含的DbConnection 实例 都会根据连接字符串中的 Sqlserver 连接字符串支持,是否自动附加当前环境事务. 连接字符…

Canvas 生成交互动画

2019独角兽企业重金招聘Python工程师标准>>> 今天介绍的是一个HTML5交互动画效果,难以置信。HTML5虽说还有很多东西在改进,但现在所能实现的 效果的程度我想是诸位很难想象得到的,实在是发展得太快了。 查看详情 转载于:https://m…

二分搜索技术

2019独角兽企业重金招聘Python工程师标准>>> 分治法的基本思想:将一个规模为n的问题,分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归的解这些子问题,然后将各个子问题的解合并得到原问题的解。 经…

apachacxf项目使用@WebService报错

首先去除已经导入的包那是因为我们要导入javaee的api,首先点击最下面这个选择自己电脑上的路径然后就会自动导入上面的包,同时在jar库上也会出现转载于:https://www.cnblogs.com/fengnan/p/9311949.html

Java中的属性和方法

题目 实体类 测试类 转载于:https://www.cnblogs.com/maoxiuying/p/9130361.html

2019-06-13 Java学习日记之MySql

数据库概述: 1、什么是数据库,数据库有什么作用? 数据库就是存储数据的仓库,气本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及…

windows下手动安装composer

1.下载compser.phar 地址 https://getcomposer.org/download/ 2.新建composer.bat 文件,写入“php "%~dp0composer.phar" %*” 3.把composer.bat composer.phar 两个文件放入 4.向环境变量里面写人“;D:\phpStudy\php\php-5.4.45;D:\phpStudy\php\php-5…

java-number

通常,当我使用number类型的时候,我们可以使用原始数据类型例如byte,int,long,double等 int i 5000; float b 13.65; double m 0xaf; 所有包装类(整型,长型,字节型,双精度型,浮点型&a…

MyBatis学习总结(9)——使用MyBatis Generator自动创建代码

2019独角兽企业重金招聘Python工程师标准>>> 由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这…

20162317 2017-2018-1 《程序设计与数据结构》第8周学习总结

20162317 2017-2018-1 《程序设计与数据结构》第8周学习总结 教材学习内容总结 1、二叉查找树的定义、性质2、向二叉查找树中添加元素的方法3、在二叉查找树中删除元素的方法4、旋转的定义、方法、意义 教材学习中的问题和解决过程问题1:我在17章中看到这么一句话&a…

Java基础学习总结(22)——异常处理

2019独角兽企业重金招聘Python工程师标准>>> 一、异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。 1 package cn.javastudy.summary;2 3 public class TestEx{4 5 …

130242014045 林承晖 第2次实验

软件体系结构的第二次实验(解释器风格与管道过滤器风格) 一、实验目的 1.熟悉体系结构的风格的概念 2.理解和应用管道过滤器型的风格。 3、理解解释器的原理 4、理解编译器模型 二、实验环境 硬件: 软件:P…

Java基础学习总结(8)——super关键字

2019独角兽企业重金招聘Python工程师标准>>> 一、super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类…

Java基础学习总结(17)——线程

2019独角兽企业重金招聘Python工程师标准>>> 一、线程的基本概念 线程理解:线程是一个程序里面不同的执行路径 每一个分支都叫做一个线程,main()叫做主分支,也叫主线程。 程只是一个静态的概念,机器上的一个.class文件…

(转)MySQL自带的性能压力测试工具mysqlslap详解

mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 例如我们拿到了一台服务器,准备做为数据库服务器&#x…

node.js HelloWord

创建 server.js var http require("http"); http.createServer(function(req,res){ //设置请求头的编码格式 res.writeHead(200,{Content-Type:text/html;charsetutf-8}); //设置网页的编码格式&#xff08;防止中文乱码&#xff09; res.write("<head>&…