whistle (读音[ˈwɪsəl],拼音[wēisǒu])

一、简介

whistle是基于Node实现的跨平台web调试代理工具,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用。

类似的工具有Windows平台上的Fiddler,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,配置使用起来非常简单。

whistle的所有操作都可以通过类似如下配置方式实现:
pattern operatorURI

其中:

  1. pattern 为匹配请求url的表达式,可以为:域名,路径,正则及通配符等等多种匹配方式:
 # 域名匹配www.example.com# 带端口的域名www.example.com:6666# 带协议的域名,支持:http、https、ws、wss、tunnelhttp://www.example.com# 路径匹配,同样支持带协议、端口www.example.com/testhttps:/www.exapmle.com/testhttps:/www.exapmle.com:6666/test# 正则匹配/^https?://www\.example\.com\/test/(.*)/ referer://http://www.test.com/$1# 通配符匹配^www.example.com/test/*** referer://http://www.test.com/$1
  1. operatorURI 为对应的操作,由操作协议+操作值组成 (operatorURI = opProtocol://opValue):

opProtocol(操作协议), 对应某类操作,如:

 # 设置请求服务器IP--hostpattern host://opValue# 本地替换--file协议pattern file://opValue

opValue(操作值), 对应具体操作的参数值,如:

 # 设置请求服务器IP--host协议pattern host://127.0.0.1:6666 # 或 pattern 127.0.0.1:6666# 本地替换--file协议pattern file:///User/test/dirOrFile # 或 pattern /User/test/dirOrFilepattern file://E:\test\dirOrFile # 或 pattern E:\test\dirOrFile
  1. pattern 和 operatorURI 在多数情况下位置可以调换,且支持组合模式

二、安装

我是在Windows上安装的,所以有些命令不适用于Mac和Linux哟

  1. 安装Nodejs

【戳官网地址】 (whistle支持v0.10.0以上版本的Node,为获取更好的性能,推荐安装最新版本的Node。)


下载以后直接下一步下一步安装完成即可

完成后确认是否安装成功:cmd 输入 node -v (检查是否显示版本号)

  1. 安装whistle
    Node安装成功后,执行如下npm命令安装whistle
    npm install -g whistle

    (Mac 或 Linux 的非 root 用户需要在命令行前面加 sudo,如:sudo npm install -g whistle

    npm默认镜像是在国外,容易出现安装速度很慢或者出现安装不了的情况,比如这样各种超时ERROR……
    如果无法安装或者安装很慢,可以使用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

    忘记截图……如果看到finish或者success之类的肯定就是成功了呀~

  2. 启动whistle
    默认端口是8899,如果端口被占用,可以在启动时通过 -p 来指定新的端口
    我比较习惯在启动的时候自己来指定一个端口,可以和fiddler区分,例如我用的8081:(fiddler是8080~~)
    指定端口启动:w2 start -p 8081
    不用的时候停止:w2 stop

  3. 配置浏览器
    启动以后就可以在自己的浏览器上访问到whistle的界面啦~
    http://127.0.0.1:8889 打开浏览器确认服务开启成功
    四不四很清爽~~

    启动完whistle后,再配置代理就可以使用啦。

  4. 配置whistle
    https抓包勾选上 Capture TUNNEL CONNECTs 否则无法抓取到HTTPS的数据包
    如果不需要测试http2,或遇到h2无法使用,把h2的开关取消勾选
    注意如果配置有修改,需要重启whistle

三、使用–配置代理

  1. 浏览器全局代理
    需要对PC浏览器请求进行抓包的话,需要配置浏览器全局代理
    我平时很少用web端代理,有问题还麻烦指正哟~

  2. 移动端配置代理
    以iOS为例:
    ①与电脑接入同一个局域网(我是电脑开了热点)
    ②配置代理,填写对应IP与端口

  3. 下载证书
    https的包需要下载证书才可以抓到
    ①手机连接代理后在浏览器输入IP:端口,访问whistle页面(无法访问检查是否开了防火墙或IP是否填错)
    ②下载证书

    ③安装证书(以iOS为例,Android在浏览器下载完成后可以直接安装)
    下载后在手机设置里可以看到“已下载描述文件”的入口,点击进入可以直接安装
    之后需要在“关于本机”里添加证书信任设置

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

关闭防火墙或者设置白名单:windows 防火墙如何设置允许局域网访问本机端口

  1. 抓个包试试!
    手机浏览器访问百度页面的~
    我还设了其它代理,所以没有收到响应的问题先不管它

暂时先写这么多,之后有时间再补充配置代理的匹配模式的内容呀

撒花✿✿ヽ(°▽°)ノ✿

超好用的抓包工具——whistle的安装及使用相关推荐

  1. 超好用的抓包工具——whistle

    背景: whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的 跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看.修改HTTP.HTTP ...

  2. 在线抓包工具Whistle

    因为版权问题公司近期大规模开始核验每位工作人员使用到的工具是否存在有侵权行为,其中Fiddler被列入了检查对象,公司发布文档暂时将该工具停用,因平常工作中需要抓取移动端的包,进行分析问题 所以在线检 ...

  3. 抓包工具charles下载安装使用

    抓包工具charles下载安装(MAC版) 什么是charles? charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles ...

  4. 超详细的Charles抓包工具的使用

    一:Charles简介 Charles是一款抓包工具,通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,实现网络封包的截取和分析. 抓包:就是将网络传输发送与接收的数据包 ...

  5. 抓包工具Fiddler下载安装

    Fiddler简介 一段抓包工具. 下载与安装 下载 官网下载地址 安装 双击下载好的exe文件 修改安装路径 安装完成 点击运行 基本配置 点击Tools->Options->HTTPS ...

  6. 抓包工具之wireshark安装和使用

    一.工具简介   Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为 ...

  7. 手机抓包工具fiddler的安装教程

    抓包工具可能是一个比较常见的应用工具,在这里总结一下安装的整个流程,以便需要时可以快速的设置和安装好. 第一步: 抓包工具下载: fiddler工具下载网址:http://www.telerik.co ...

  8. 抓包工具 fiddler 的安装和使用详解

    一.为什么要使用抓包工具? 1.看过太多测试同学,安卓端测试出现的问题,归属就是安卓端,ios端出现的问题归属就是ios端,这样子不仅bug被拒绝率很高,也不方便别人认可你的能力,使用简单的抓包工具, ...

  9. 抓包工具whistle安装与使用

    1 介绍 whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看.修改HTTP.HTTP ...

最新文章

  1. 基于全景图像与激光点云配准的彩色点云生成算法(2014年文章)
  2. 管理系统中计算机应用知识总结,自考《管理系统中计算机应用》章节知识点复习:管理信息...
  3. 未能加载文件或程序集 ICSharpCode.SharpZipLib
  4. 查看静态链接和动态链接
  5. hdu5709-Claris Loves Painting【线段树合并】
  6. JavaFX之TableView的MenuButton
  7. LeetCode 第 32 场双周赛(983/2957,前33.2%)
  8. pytorch的backward参数
  9. 邱勇校长在2018级研究生开学典礼上的讲话 | 融合成就人生新的高度
  10. --@angularJS--自定义服务与后台数据交互小实例
  11. Java实现栈和队列
  12. Oracle下载及安装超详细教程
  13. 蓝桥杯真题:杨辉三角形
  14. 计算机中文编码《区位码\国标码\机内码》进阶史
  15. 关于笔记本突然鼠标无法连接,电脑蓝牙消失的问题
  16. 委托机制(讲解简明扼要)
  17. python中的类和对象2
  18. java File 读取本地文件 增删改查
  19. 基于Java的雷电游戏设计(含源文件)
  20. 时间格式化问题@DateTimeFormat和@JsonFormat的区别

热门文章

  1. 【牛客刷题】游戏行业通识(更新中)
  2. Spring中的IoC(2)
  3. 少儿启蒙教育软件拼小鹿AI课使用说明
  4. Cortex-AX系列性能对比(原)
  5. request:fail ssl hand shake error 微信小程序(已解决!!) TLS1.2版本配置
  6. 谷歌眼镜入华被指功能缩水 国内用户:很多功能用不了
  7. MySQL索引深入解析
  8. 恶贯满盈的“街头霸王”
  9. html文字太长隐藏,[分享]Dvi+Css框架页面中文本过长用CSS实现截取隐藏文字 | 霸王硬上弓's Blog...
  10. 2018 中兴事件的启示