一、使用场景
- 抓包
- 请求转发
二、基础篇
官网:http://wproxy.org/whistle/
github: https://github.com/avwo/whistle
简介:
whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能:
2.1安装
前提:电脑已经安装 node.js
确认node.js安装是否成功。成功会返回版本信息
npm -v
node -v
安装whistle命令:
npm install -g whistle
ps:安装时如果提示Permission denied,运行命令前加上sudo
2.2 启动或停止或重启
w2 start --启动whistle服务
w2 stop --停止whistle服务
w2 restart --重启whistle服务
w2 status --查看whistle运行状态
wenwu.cheng@NPGX2JD23R ~ %
wenwu.cheng@NPGX2JD23R ~ % w2 start
[!] whistle@2.9.42 is running
[i] 1. use your device to visit the following URL list, gets the IP of the URL you can access:
http://127.0.0.1:8899/
http://10.12.188.9:8899/
Note: If all the above URLs are unable to access, check the firewall settings
For help see https://github.com/avwo/whistle
[i] 2. set the HTTP proxy on your device with the above IP & PORT(8899)
[i] 3. use Chrome to visit http://local.whistlejs.com/ to get started
wenwu.cheng@NPGX2JD23R ~ %
2.3 下载证书,并且信任证书
步骤1:访问地址:http://127.0.0.1:8899/
步骤2:在whistle中选择顶部“HTTPS”,在弹窗中选择“DownLoad RootCA”,下载ca证书到本地
步骤3:双击下载的证书,信任证书
2.4 安装chrome浏览器代理切换插件 Proxy SwitchyOmega
步骤1:安装插件:Proxy SwitchyOmega
步骤2:配置whistle代理地址和端口:
步骤3:使用whistle插件代理,切换到whistle
如果不想使用代理,直接切换到 “直接连接”
2.5 愉快的抓包
举个例子,百度搜索"hello-key" 为例抓包
抓包效果:
三、高级篇
3.1 域名转发
请求转发,将指定域名请求转发到另一个域名
举例例子,将访问www.taobao.com的请求,转发到www.baidu.com上