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. sublime3 ctl+b无效
  2. 计算机科学与教育信息化国际会议,A Courses Ontology System for Computer Science Education...
  3. ES5-拓展 箭头函数的this、this的优先级
  4. ckfinder php 配置,php – 在Laravel 5中为CKEditor设置路径以使用CKFinder
  5. 认识 react 的钩子函数
  6. ASP.NET简易教程3——SQL存储过程
  7. 什么是Reactive Streams in Java 译
  8. Databinding在自定义ViewGroup中如何绑定view
  9. python画汤姆猫简笔画_汤姆猫简笔画图片
  10. iphone根目录索引大全
  11. 服装PDM产品数据管理
  12. glassfish基本使用
  13. CIA长期对华开展网络攻击,谍影重重缘起此处
  14. 新颖的 USB HUB快充方案助您无忧!!(兼容PD、QC、AFC等快充协议)
  15. Unity VR开发教程 OpenXR+XR Interaction Toolkit (三) 转向和移动
  16. ESP8266+micropython+HCSR04 超声波测距传感器
  17. Intel迅盘应用从入门到精通
  18. (听说标题越短事越大)
  19. 易语言启动局域网计算机程序,易语言局域网计算机监控源码
  20. English Studying

热门文章

  1. python监听扫码枪扫描数据
  2. DP DD VTL 备份 NBU
  3. 武侠争霸·英雄帖在此,少侠留步
  4. GoDaddy和BlueHost对比评测
  5. 梯形面积php,CSS实现梯形标签页
  6. STM32F103C8T6的flash读写
  7. Pandas 替换 NaN 值
  8. 赴美上市背后,“中国激光雷达第一股”禾赛科技的想象空间有多大?
  9. 室外3D建图定位(0)Velodyne16 与禾赛Pandar XT16测试篇
  10. java fileupload 文件类型,java用Commons-fileupload 文件的上传