首页 > 其他分享 >Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香

Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香

时间:2022-11-20 11:37:27浏览次数:81  
标签:node Fiddler star 证书 可以 过万 whistle 安装 抓包

关于抓包,那是测试人员必备技能之一了,通常我们会通过一些抓包工具来辅助我们测试、定位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

相关文章

  • SpringBoot13(springboot自定义Starter)
    实现:一、自定义Starter最简实现1、classpath(springboot下是resources)路径下创建MATA-INF/spring.factories文件,写入需要加载的......
  • Repeated Start Condition
    RepeatedStartConditionAwaytoclaimthebusDuringanI2Ctransferthereisoftentheneedtofirstsendacommandandthenreadbackananswerrightaway.......
  • 一招解决错误:This application failed to start because not Qt platform plugin coul
    #遇到的问题最近换了电脑很郁闷,装钉钉装印象笔记打开后,均提示以下这个错误, 错误内容:ThisapplicationfailedtostartbecausenotQtplatformplugincouldbeinit......
  • fiddler抓APP包
    一.fiddler配置1.https配置  2.证书下载到桌面  3.安装证书点击安装证书,一路下一步,直到提示”安装成功“4.链接配置  5.配置完成后重启fiddler二.安卓......
  • eCos疑问——两个cyg_user_start函数
    mingdu.zheng<at>gmail<dot>com 两个cyg_user_start函数在阅读eCos代码的过程中发现整个系统定义了两个cyg_user_start函数,一个位于packages/infra/<version>/src/......
  • One or more Filters failed to start. Full details will be found in the appropria
    classpatch下创建logging.properties文件,查看更详细的日志信息handlers=org.apache.juli.FileHandler,java.util.logging.ConsoleHandler######################......
  • windows failed to start
    现象今天启动我的window11的时候,突然进不去系统了解决办法找一个winPe的u盘,进入。然后找到Windows引导修复工具,这个是在winPe里都会内置的工具(比如老毛桃、大白菜、微......
  • GUI in Rust with iced #1: Getting Started
    https://nikolish.in/gs-with-iced-1 GUIinRustwithiced#1:GettingStartedJune13,2022 rust iced iced-tutorialHeyrustaceans!Youareherepr......
  • CodeStar第六周周赛普及进阶组
    T1:倍数序列3本题难度中等,思路和LIS类似,用dp[i]表示以\(a_i\)结尾的倍数序列的个数。如果\(a_i\)是\(a_j\)的倍数,倍数序列个数就是\(dp[j]\),枚举所有\(j\)求......
  • 延迟任务实现-简单的延迟任务starter
    github项目地址:delay-task-schedule大家还有什么好的方法或需要改进的地方欢迎大家评论实现原理1)延迟任务主要就是要保证任务的有序性,这一点mq不太容易实现,mq主要就是保......