(功能测试Charles)如何抓取手机http的报文
抓包的目的:
发现bug需要定位要抓包
检查数据传输的安全性
接口测试遇到需求文档不全要抓包
抓包主要抓取的是http协议(https协议)的报文
http协议规范客户端和服务端的数据传输格式,是一个标准和规范
每个http连接包括请求消息和响应消息两部分
端口:80
http协议:通信使用明文,使用抓包工具都可以看到里面的内容,所以他是不太安全的协议,没有身份认证,没有验证数据的完整性
所以衍生出https协议是http协议的安全版
端口:443
https=http+加密+身份认证+完整性
手机抓包的原理,和PC类似,手机通过把网络委托给Charles进行代理与服务端进行对
具体步骤如下:
1、使手机和电脑在一个局域网内,不一定非要是一个IP段,只要是在同一个路由器下即可。电脑端配置:
1关掉电脑端的防火墙(这点很重要)。
2打开Charles的代理功能:
通过主菜单打开Proxy--->Proxy Settings弹窗,填入代理端口(端口默认为8888,不用修改)
勾Enable transparent HTTP proxying
如果不需要抓取电脑上的请求,可以取消勾选Proxy-->Windows Proxy和Proxy-->Mozilla FireFox Pro手机端配置:
3通过 Charles 的主菜单 Help-->Local IP Address 或者通过命令行工具输入 ipconfig 查看本机的 IP 地址。
打开手机端的WIFI代理设置,输入电脑IP和Charles的代理端口。
4、设置好之后,我们打开手机上的任意需要网络请求的程序,就可以看到Charles弹出手机请求连接的确认菜
单(只有首次弹出),点击Allow即可完成设置。
5、完成以上步骤,就可以进行抓包了
对于电脑端:
1.打开电脑代理设置:
此处钩取才能抓取手机的报文
开始配置手机端:
确定电脑端的ip地址:
主机名就是刚刚的ip地址 填写上面的端口号8888
记得要关闭防火墙!!
可以看到已经开始抓取报文啦!
但是对于https协议的报文:
安装电脑端的证书:
一路按步骤来即可!!!
对于移动端,要输入chls.pro/ssl安装证书