Charles介绍&前期准备:
- Charles介绍:Charles跟fiddler是目前行业中比较常用的抓包工具,这里主要介绍Charles的使用,fiddler的使用类似。
- 前期准备:使用前需先下载并安装好。
为何要用到抓包工具:
- 不是所有的公司都能提供正规的接口文档,因此在没有接口文档的前提下,可以使用抓包工具获取请求进行测试。
- 构造异常:抓包工具可以在客户端和服务端之间建立一道墙,我们可以修改请求体的内容再发送给服务端,也可以模拟服务端返回的异常情况,这样我们可以测试到一些不方便构造的异常场景。
如何用charles抓取请求
- 第一步:打开charles
- 第二步:访问网站(http://bj.58.com/)
- 第三步:查看charles所抓取的数据->展开左侧的URL,点击“球形”图标->查看Overview页面(可以看到url,status,请求方式,返回码等信息)->查看Request页面(可以看到请求体,请求头,cookie等信息)->查看Response页面(可以看到具体的返回体内容)
如何用charles伪造电脑端请求:从下图中可以看出,使用charles抓包工具拦截请求,拦截之后再修改,包括客户端和服务端的请求。
- 修改请求内容来伪造请求:
- 访问网页
- 设置断言:右键点击请求->选择Breakpoints
-
- 再次访问页面下发请求
- 修改请求url或者请求方式:切到Breakpoints页面->点击“Edit Request”->点击excute
-
- 再次点击excute
- 查看页面情况(页面异常,访问不到想要的页面)
- 修改返回体内容来伪造请求:
- 访问网页
- 设置断言:右键点击请求->选择Breakpoints
-
-
- 再次访问页面下发请求
- 切到Breakpoints页面->点击excute->切到Edit Response页签->修改放回体内容->点击excute
-
-
-
- 查看页面情况(页面内容发生变化)
-
如何用charles伪造手机端请求:charles除了可以抓电脑端的请求外,也能抓取手机端的请求,但是,前提是保证手机和电脑在同一个局域网内,这里以伪造返回体为例。
- 获取到电脑的ip地址。
- 查看charles的端口号:点击菜单的proxy->proxy Settings (默认8888)
- 进入手机的wifi设置->手动设置代理->配置主机名、端口号(其中主机名配置电脑的ip ,端口号配置charles的端口号8888)
- 手机访问网页
- 进入charles设置断言:右键点击请求->选择Breakpoints
- 再次访问页面下发请求
- 切到Breakpoints页面->点击excute->切到Edit Response页签->修改放回体内容->点击excute
- 手机端查看页面情况(页面内容发生变化)