whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能:安装启动whistle,需要以下四个步骤: 安装Node安装whistle启动whistle配置代理

Whistle也是nodejs开发的跨平台web调试代理工具,查看、修改或构造http(s)、websocket请求响应数据。

工具地址:https://github.com/avwo/whistle

介绍及相关用法:https://github.com/avwo/whistle/wiki

帮助文档:http://wproxy.org/whistle/

1. 安装Node

whistle支持v0.10.0以上版本的Node,为获取更好的性能推荐安装最新版本的Node可以忽略此步骤,直接进入安装whistle的步骤

  1. Windows或Mac系统,访问https://nodejs.org/,安装LTS版本的Node,默认安装即可。
  2. Linux下推荐使用源码安装: 从Node官网下载最新版的Source Code(或者用wget命令下载),解压文件(tar -xzvf node-vx.y.z.tar.gz)后进入解压后的根目录(node-vx.y.z),依次执行./configure./make./make install

安装完Node后,执行下面命令,查看当前Node版本

$ node -v
v4.4.0

如果能正常输出Node的版本号,表示Node已安装成功(Windows系统可能需要重新打开cmd)

2. 安装whistle

Node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面加sudo,如:sudo npm install -g whistle

$ npm install -g whistle

npm默认镜像是在国外,有时候安装速度很慢或者出现安装不了的情况,可以使用taobao的镜像安装加速安装:

$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ cnpm install -g whistle或者直接指定镜像安装:
$ npm install whistle -g --registry=https://registry.npm.taobao.org

whistle安装完成后,执行命令 whistle help 或 w2 help,如果能正常输出whistle的帮助信息,表示whistle已安装成功。

3. 启动whistle

最新版本的whistle支持三种等价的命令whistlew2wproxy

启动whistle:

$ w2 start

Note: 如果要防止其他人访问配置页面,可以在启动时加上登录用户名和密码 -n yourusername -w yourpassword

重启whsitle:

$ w2 restart

停止whistle:

$ w2 stop

调试模式启动whistle(主要用于查看whistle的异常及插件开发):

$ w2 run

启动完whistle后,最后一步需要配置代理

4. 配置代理

代理服务器:127.0.0.1 (如果部署在远程服务器或虚拟机上,改成对应服务器或虚拟机的ip即可)

默认端口:8899 (如果端口被占用,可以在启动是时通过 -p 来指定新的端口,更多信息可以通过执行命令行 w2 help

浏览器代理:安装Chrome浏览器代理插件:推荐安装SwitchyOmega

PS: 如果配置完代理,手机无法访问可能是whistle所在的电脑防火墙限制了远程访问whistle的端口,关闭防火墙或者设置白名单

访问配置页面

启动whistle及配置完代理后,用Chrome浏览器(由于css兼容性问题界面只支持Chrome浏览器)访问配置页面,如果能正常打开页面,whistle安装启动完毕,可以开始使用,可以通过以下两种方式来访问配置页面:

  • 方式1:域名访问 http://local.whistlejs.com/
  • 方式2:通过ip+端口来访问,形式如 http://whistleServerIP:whistlePort/ e.g. http://127.0.0.1:8899
  • 方式2:通过命令行参数 -P port自定义webui的端口(xxxx表示要设置的端口号),自定义端口支持上述两种方式访问,也支持 http://127.0.0.1:port或者localhost:port

​​​​​下载rootCA认证

手机连接电脑ip并指定端口,就可以在浏览器中查看到数据的请求。

设置https拦截:

1. 点击菜单https,下载rootCA证书,同时勾选Intercept HTTPS CONNECTS

2. 手机扫码下载rootCA证书,并导入到手机中,这里跟Fiddler一致,也可以浏览器输入rootca.pro即可

3. 访问https网站,可以抓到数据

PS:目前whistle工具已经在chrome商店中上线,可以在chrome://apps中通过搜索whistle,下载whistle插件方式安装

访问界面

Whistle强大的WEB调试代理工具相关推荐

  1. 网站本地调试工具_一款Web调试代理工具:Fiddler

    前言 在移动软件开发工作中,我们经常需要对APP软件进行调试及问题定位. 在我们检查定位问题的时候,很多情况下需要查看接口的请求情况,当我们没有在调试模式的情况下,如何才能有效快捷的得到各个接口的请求 ...

  2. 【移动端debug-6】如何做一个App里的web调试小工具

    原文链接:如何做一个App里的web调试小工具 我们知道现在hybrid app非常流行,在这样的app里,h5页面是应用非常广泛的.相对于以往在pc端开发的网页,放在app里的网页由于无法直接使用桌 ...

  3. 强大的Web日志分析工具_AWSTATS 应用实例

    释义: AWStats在Sourceforge发展很快的一个基于Perl的WEB日志分析工具. 相对于另外一个非常优秀的开放源代码的日志分析工具Webalizer,AWStats的优势在于: 1.界面 ...

  4. 12个强大的Web服务测试工具

    在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...

  5. Wfuzz:一款强大的Web Fuzz测试工具 | 安装报错解决

    Wfuzz是一个基于Python的Web爆破程序,它支持多种方法来测试WEB应用的漏洞.你可以审计参数.登录认证.GET/POST方式爆破的表单,并且可以发掘未公开的资源,比如目录.文件和头部之类的. ...

  6. 初识whistle代理工具

    whistle介绍: Whistle是支付宝开发的又一强大的类似fiddler.charles抓包工具(另一强大的工具是anyproxy:http://anyproxy.io/cn/) Whistle ...

  7. 利用 whistle 进行混合开发调试

    介绍 whistle 是一款用 Node 实现的跨平台的 Web 调试代理工具,支持查看修改 http(s).Websocket 连接的请求和响应内容.简而言之就是 Node 版的 Fiddler.C ...

  8. Fiddler Everywhere使用,任何设备或平台的Web调试

    Fiddler Everywhere使用,任何设备或平台的Web调试 使用适用于任何设备或平台的 Web 调试代理来扩大您的调试工作. Fiddler Everywhere使用是适用于 macOS.W ...

  9. Fiddler Everywhere调试代理来扩大您的调试工作

    Fiddler Everywhere调试代理来扩大您的调试工作 Fiddler Everywhere 是适用于 macOS.Windows 和 Linux 的安全且现代的 Web 调试代理.它使您能够 ...

最新文章

  1. 设置Distribution clean up 每次删除Command的数量
  2. linux 修改ip地址_Day.19 变更IP地址
  3. Android之设置资源图片为圆角图片
  4. 5.8 程序示例--线性分类-机器学习笔记-斯坦福吴恩达教授
  5. STM32下SysTick的一个容易发生的错误,时钟频率设置
  6. 针对各组项目的改进意见
  7. GUI_Download的Codepage参数
  8. ubuntu sendmail安装和使用具体实现[转]
  9. 光遇服务器维护都在干什么,光遇:全图毕业后该做什么?老玩家建议,这四件事不做会后悔...
  10. linux php oauth安装,Linux php 扩展安装 mongo ,redis ,soap,imap,pdo_mysql,oauth
  11. 【动态规划】魔法石矿
  12. sqlserver 微信 读取_Sql Server使用链接服务器远程取数据_sqlserver
  13. js存取cookie以及设置cookie储存时间
  14. ps怎么抠地图线路_这些图片用PS怎么抠?ps抠图入门及PS抠图常用的7种方法(附详细步骤)...
  15. 微信服务通知消息找回_抖音回应无法用微信登录疑:不清楚是否是人为因素
  16. win10系统做T3服务器,win10系统安装用友t3的图文教程
  17. m132nw与m132snw差异_最新评测揭秘m132nw与m132snw差异哪个好?各个型号有什么区别?用户实话实说...
  18. 服务器无法定位到现有系统分区,真正解决win7 “安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法...
  19. PreferenceActivity 分屏显示 分析
  20. 前端技术周刊 2018-12-24:移动无限加载

热门文章

  1. Linux那些事儿之我是SCSI硬盘(3)磁盘磁盘你动起来!
  2. C++ 11 特性:关联容器map、set的使用
  3. 笨方法学习Python-习题36: 设计和调试
  4. 桥梁远景图微型计算机教案,小学六年级语文《桥梁远景图》教案模板
  5. 好嗨游戏:游戏界的《千与千寻》,7年等待,游戏禅师陈星汉新作《Sky光遇》登录App Store
  6. 做网络必须掌握的83句话[转载]
  7. SpringBoot(SpringMVC)拦截Druid数据监控页面
  8. java中矩形和圆形的周长面积_抽象类实现圆和矩形周长和面积的计算
  9. RDA_环境因子_群落结构_统计检验_可视化
  10. 网页版无需客户端下载视频