超好用的抓包工具——whistle的安装及使用

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、tunnel
 http://www.example.com

 # 路径匹配,同样支持带协议、端口
 www.example.com/test
 https:/www.exapmle.com/test
 https:/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--host
 pattern 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/dirOrFile
 pattern 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. 抓个包试试!
    手机浏览器访问百度页面的~
    我还设了其它代理,所以没有收到响应的问题先不管它
    在这里插入图片描述

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

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

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值