抓包的介绍
原理:
说明:客户端向服务器发送请求以及服务器响应客户端的请求,都是以数据包来传递的。
抓包(packet capture):通过工具拦截客户端与服务器交互的数据包
目的:确定BUG是前端还是后端的
使用抓包工具定位前后端问题
举例:以抓取下订单为例
● 先查看数据库,检查商品是否下订单成功
○ 如果数据库中有对应的订单信息,说明查询我的订单存在问题
○ 如果数据库中没有对应的订单信息,说明下单的操作存在问题
● 如果查询我的订单存在问题,使用 Fiddler 抓取请求和响应的报文
○ 如果查询我的订单的请求有问题(URL/参数不正确),说明是前端代码的问题
○ 如果请求没有问题,但是响应有问题(无响应/响应结果错误),说明是后端代码的问题
○ 如果请求和响应都没有问题,需要具体分析。 例如:浏览器兼容问题(前端问题); 前后端开发人员对字段的定义不一致(status:1,后端开发人 员认为表示成功,前端开发人员认为表示失败)
● 如果下单的操作存在问题,使用 Fiddler 抓取请求和响应的报文
○ 如果下单的请求有问题,(URL/参数不正确),说明是前端代码的问题
○ 如果请求没有问题,但是响应有问题(无响应/响应结果错误),说明是后端代码的问题
○ 如果请求和响应都没有问题,需要具体分析。
抓取手机app包的操作步骤与设置
前置条件:
抓包的电脑和运行app的手机必须是在同一个局域网的
当前主流的抓包工具:Fiddler和Charles
注:Fiddler支持windows,Charles支持windows,mac,linux,如果Fiddler要在mac和linux使用的话设置步骤会比较繁琐;那么建议windows系统抓包首选Fiddler,mac系统首选Charles。
设置步骤:
Fiddler
1.抓包工具中生成并且导出证书
开启设置:
端口号设置
导出证书到电脑桌面
2.设置手机代理
1.上传证书到手机,并安装
2.手机中设置代理
2.1、安装证书
1. 上传证书到手机: 将PC端导出到桌面的证书直接拖拽进模拟器窗口
2. 进入系统设置—>安全—>凭据管理,选择从SD卡安装,找到证书(搜索fiddler),双击安装证书,自 定义命名并确定,安装成功后需要自定义锁屏密码(选择PIN码,进行设置);
3.将证书上传到手机中,并且进行安装
2.2、设置手机代理
进入系统设置—>WLAN,选择当前连接的网络,在弹出窗口选择修改网络,代理选择手动,代理 服务器主机名输入本机IP,代理服务器端口与步骤1.1中设置的监听端口保持一致;
Charles
操作步骤:
1.设置代理
2.获取代理以及证书信息
3.手机代理设置:
系统应用--》设置--》WLAN--》网络设置--》修改网路
4.手机安装证书:
手机浏览器访问获取到的网页地址,点击下载并且安装