关于抓包,那是测试人员必备技能之一了,通常我们会通过一些抓包工具来辅助我们测试、定位bug。
我最早接触并使用的就是 fiddler ,不过目前最新版本已经要开始付费了,以前很老的那版我也不爱用了,这可咋整?
还好找到了另一款开源抓包神器whistle
,目前 GitHub 上 1W+ 的 star,不可谓不强。不敢独自享用,赶紧拿来分享。
一、whistle 简介
whistle
(读音[ˈwɪsəl],拼音[wēisǒu]),是基于Node
实现的跨平台web调试代理工具。主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用。
不同于Fiddler
通过断点修改请求响应的方式,whistle
采用的是类似配置系统hosts
的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径
等多种匹配方式。
目前我主要使用它来抓包手机APP,可以查看接口请求,以及做一些接口响应的替换等。
二、安装
1. 安装 node
whistle
基于node,所以要先安装node环境。直接进入node官网,安装最新版即可(我的是win10系统)。
https://nodejs.org/
安装成功后,在cmd窗口执行node -v
就可以看到安装好的node版本。
2. 安装 whistle
有了node环境,就可以直接使用npm
来安装whistle
。
npm install -g whistle
因为npm默认镜像是在国外,这里推荐大家使用taobao的镜像安装:
npm install whistle -g --registry=https://registry.npm.taobao.org
等待安装完成即可。接着可以执行w2 help
,就可以看到whistle
的帮助信息。
3. 安装根证书
点击工具栏中的 https ,再点击图片就可以下载证书了。
根据图示进行证书安装即可。
三、使用
1. 启动
执行命令w2 start
即可启动。
默认的端口是8899
,我们也可以加上-p
指定端口来启动。
启动完成,就可以通过控制台输出的地址打开web界面了,就是文首图示里的界面。
总体来说界面还是很友好的,有过抓包工具使用的童鞋基本上可以很快上手。
在真正使用之前,别忘记打开对应的代理,比如我现在抓电脑浏览器里网页的请求,就要打开电脑的代理设置。
可能会存在8899端口访问不了的情况,可以去检查下防火墙设置,添加个白名单或者关闭防火墙(刚踩完的坑o(╥﹏╥)o)。
2. 停止
执行命令w2 stop
。
3. 重启
执行命令w2 restart
4. 查看 whistle 状态
执行命令w2 status
可以查看 whistle 实例的状态。
三、手机抓包
1. 配置代理
手机端配置代理,需要与 whistle 端处于一个WiFi下,对WiFi进行对应的配置即可。
2. 安装证书
手机可以扫码安装,或者直接浏览器输入rootca.pro
即可以下载证书。iOS安装根证书需要到连接远程服务器进行验证,需要暂时把Https拦截功能关掉。
ios安装完证书后记得要打开证书信任设置,路径:设置-通用-关于本机-证书信任设置
。
四、替换响应
这里提一下替换响应的操作。
有时候我需要模拟接口的异常返回,来测试下APP端上出现的提示是否足够友好,那么我就可以把接口的响应内容替换成我的目标错误码即可。
在 whistle 中操作非常简单,通过简单的配置即可实现。首先在 rules 中配置一个规则,这里有一个默认的规则,我直接在这里配置,当然你也可以新建规则。
前面的url
就是我要替换的目标地址,后面的file://{vcode_resp_500}
就是我要替换上去的内容,这里的vcode_resp_500
是我的文件名。
在 values 中,我新建了一个文件名字叫vcode_resp_500
,里面贴上了我要的返回内容就行了。
五、结语
这里只是 whistle 的一个简单分享,具体更多的内容体验操作大家有兴趣可以学习下官方文档:http://wproxy.org/whistle/webui/
也欢迎使用的小伙伴互相交流。
标签:node,Fiddler,star,证书,可以,过万,whistle,安装,抓包 From: https://www.cnblogs.com/pingguo-softwaretesting/p/16907993.html