Whistle 客户端抓包工具

news2024/11/26 0:40:15

Whistle 客户端

安装或更新

官网: 关于whistle · GitBook (wproxy.org)icon-default.png?t=O83Ahttps://wproxy.org/whistle/

Whistle 客户端目前只支持 Mac 和 Windows 系统,如果需要在 Linux、 Docker、服务端等其它环境使用,可以用命令行版本:GitHub - avwo/whistle: HTTP, HTTP2, HTTPS, Websocket debugging proxy。

安装和更新的方法是一样的,下面以安装过程为例:

Windows
  1. 下载名为 Whistle-v版本号-win-x64.exe 最新版本号的安装包

    没有管理员权限的用户可以下载 Whistle-user-installer-v版本号-win-x64.exe 用户版本安装包,跟默认版本的区别是 User Installer 不支持伪协议(whistle://client

  2. 打开安装包可能会弹出以下对话框,点击  、确定允许访问 按钮即可

     ​​   

  

一些公司的软件可能会把 Whistle.exe 以及里面让系统代理设置立即生效的 refresh.exe 文件误认为问题软件,直接点击允许放过即可,如果还有问题可以跟公司的安全同事沟通下给软件加白

Mac

Mac 有 Intel 和 M1 两种芯片类型,不同类型芯片需要下载不同的安装包,其中:

  1. M1 Pro、M2 Pro 等 M1 芯片的机型下载名为 Whistle-v版本号-mac-arm64.dmg 的最新版本号的安装包
  2. 其它非 M1 芯片机型下载名为 Whistle-v版本号-mac-x64.dmg 的最新版本号的安装包

下载成功点击开始安装(将 Whistle 图标拖拽到 Applications / 应用程序):

安装完成在桌面上及应用程序可以看到 Whistle 的图标:

点击桌边图标打开 Whistle,第一次打开时可能遇到系统弹窗,可以在“系统偏好设置”中,点按“安全性与隐私”,然后点按“通用”。点按锁形图标,并输入您的密码以进行更改。在“允许从以下位置下载的 App”标题下面选择“App Store”,或点按“通用”面板中的“仍要打开”按钮:

打开客户端会自动设置系统代理,第一次可能需要用户输入开机密码

一些公司的软件可能会把客户端里面引用的设置代理的 whistle 文件误认为问题软件,直接点击允许放过即可,如果还有问题可以跟公司的安全同事沟通下给软件加白

基本用法

  1. 顶部 Whistle 菜单
    • Proxy Settings
    • Install Root CA
    • Check Update
    • Set As System Proxy
    • Restart
    • Quit
  2. 安装插件
  3. 其它功能

顶部菜单

Proxy Settings

  1. Proxy Port:必填项,代理端口,默认为 8888
  2. Socks Port:新增 Socksv5 代理端口
  3. Bound Host:指定监听的网卡
  4. Proxy Auth:设置用户名和密码对经过代理的请求进行鉴权
  5. Bypass List:不代理的白名单域名,支持以下三种格式:
    • IP:127.0.0.1
    • 域名:www.test.com
    • 通配符:*.test.com(这包含 test.com 的所有子代域名)
  6. Use whistle's default storage directory:存储是否切回命令行版本的目录,这样可以保留之前的配置数据(勾选后要停掉命令行版本,否则配置可能相互覆盖)
  7. Set system proxy at startup:是否在启动时自动设置系统代理
Install Root CA

安装系统根证书,安装根证书后可能因为某些客户端不支持自定义证书导致请求失败,可以通过在 Proxy Settings 的 Bypass List 设置以下规则(空格或换行符分隔):

*.cdn-apple.com *.icloud.com .icloud.com.cn *.office.com *.office.com.cn *.office365.cn *.apple.com *.mzstatic.com *.tencent.com *.icloud.com.cn

如果还未完全解决问题,可以把抓包列表出现的以下有问题的请求域名填到 Bypass List :

Check Update

点击查看是否有新版本,如果有最新版本建议立即升级。

Set As System Proxy

托盘图标右键也支持该功能

开启或关闭系统代理,如果想在客户端启动的时候是否自动设置系统代理需要通过 Proxy Settings 的 Set system proxy at startup 设置。

Restart

重启客户端。

Quit

退出客户端,退出客户端会自动关闭系统代理。

安装插件

打开界面左侧的 Plugins Tab,点击上方 Install 按钮,输入要安装插件的名称(多个插件用空格或换行符分隔),如果需要特殊的 npm registry 可以手动输入 --registry=xxx 或在对话框下方选择之前使用过的 npm registry。

如输入:

whistle.script whistle.vase --registry=https://registry.npmmirror.com

后面的版本会提供统一的插件列表页面,用户只需选择安装即可,无需手动输入插件包名

其他功能

除了上述功能,其它非命令行操作跟命令行版的 Whistle 一样,详见:https://github.com/avwo/whistle

常见问题

1. 设置系统代理后,某些客户端(如:outlook、word 等)出现请求异常问题的原因及解决方法

在 Proxy Settings 的 Bypass List 设置以下规则:

*.cdn-apple.com *.icloud.com .icloud.com.cn *.office.com *.office.com.cn *.office365.cn *.apple.com *.mzstatic.com *.tencent.com *.icloud.com.cn

如果还未完全解决,可以把抓包列表出现的以下有问题的请求域名填到 Bypass List :

2. 如何更新客户端?

​ 打开左上角 Whistle 菜单 / Check Update 按钮,检查是否有最新版本,如果有按更新指引操作,或者直接访问 https://github.com/avwo/whistle-client/releases 下载系统相关的版本

3. 如何同步之前的数据?

Whistle 客户端默认使用独立的目录,如果要复用之前命令行版本的目录,可以通过 Proxy Settings 的 Use whistle's default storage directory 切回命令行的默认目录:

要确保同一目录只有一个实例,否则会导致配置相互覆盖

如果想让客户端保持独立的目录,也可以通过以下方式手动同步数据:

  1. 手动同步 Rules:从老 Whistle / Rules / Export / ExportAll 导出规则后,再通过 Whistle 客户端 / Rules / Import 导入
  2. 手动同步 Values:从老 Whistle / Values / Export / ExportAll 导出规则后,再通过 Whistle 客户端 / Values / Import 导入
  3. 手动同步 Plugins:通过 Plugins:从老 Whistle / Plugins / ReinstallAll / Copy 按钮复制所有插件名称,再通过客户端 Plugins / Install / 粘贴 / Install 按钮安装

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽车免拆诊断案例 | 沃尔沃V40 1.9TD断续工作

故障现象 一辆04款的沃尔沃V40 1.9 TD,发动机代码D4192T3,使用博世EDC15C发动机管理。客户说车子断续工作,怀疑是正时皮带出现问题。卸下上皮带盖,检查发现皮带仍然在原来的位置上并且没有出现松动。起动发动机,车辆能…

1 MATLAB 绘图函数函数: plot

>> t -10:0.001:10; >> x sin(t); >> plot(t,x)

python中,在.之后出现的提示中这些带圈的C代表什么意思?其前面的绿色红箭头和红色标记又代表什么意思?

python中,在.之后出现的提示中这些带圈的C代表什么意思?其前面的绿色红箭头和红色标记又代表什么意思? 在Python中,带圈的"C"通常表示"类"。这意味着在该提示中,你正在与一个类的属性或方法进行交…

【Linux】Linux权限历险记---组和用户的关系

欢迎来到 CILMY23 的博客 🏆本篇主题为:Linux权限历险记---组和用户的关系 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营…

Java初步

背景 名字 Oak(橡树)改到一个岛(疑似盛产咖啡) Java之父 詹姆斯高斯林(James Gosling) sun公司研发 现在属于Oracle公司 把它称为甲骨文公司 应用 企业级应用开发 重点学习JavaSE(Standa…

归并排序/计数排序

1:归并排序 1.1:代码 void _MergeSort(int* arr, int left, int right, int* tmp) {if (left > right){return;}int mid (left right) / 2; _MergeSort(arr, left, mid, tmp); _MergeSort(arr, mid1, right, tmp); int begin1 left…

洗护工厂上门预约下单洗衣洗鞋门店小程序

洗护工厂上门预约下单洗衣洗鞋门店小程序定制; ​ ​用户扫码后在小程序自助下单,可预约上门送取件更便捷的洗衣洗鞋新体验! 案例介绍: 为洗衣洗鞋门工厂开发的一个洗鞋用户自己下单的软件,用户在线下单即可上门送取; 洗鞋小程序是…

[产品管理-5]:NPDP新产品开发 - 3 - 企业创新战略及创新战略框架与新产品开发(从市场、商业模式、产品、技术、成本等维度划分)

目录 一、什么是创新战略 1、定义与特点 2、类型与策略 3、核心要素与实施步骤 4、重要意义 二、创新战略框架 2.1 波特的创新战略框架(差异化战略框架) 1. 总成本领先战略(Overall Cost Leadership Strategy) 2. 广度选…

合适做项目交付的物联网平台:ThingsKit

ThingsKit,作为一个专为项目交付设计的物联网平台,凭借其强大的功能和灵活性,成为了众多企业的首选。 一、ThingsKit的核心优势 模块化设计:ThingsKit采用模块化设计,使得用户可以根据自己的需求灵活选择和组合不同的…

【软考中级攻略站】-软件设计师(7)- 结构化开发方法(数据流图)

系统设计基本原理 抽象是一种设计技术,重点说明一个实体的本质方面,而忽略或者掩盖不是很重要或非本质的方面。模块化是指将一个待开发的软件分解成若干个小的、简单的部分——模块,每个模块可独立地开发、测试,最后组装成完整的…

线下ERP与电商平台集成:点三API深度解析——优化电商订单数据同步的实践方案

随着电商市场的快速发展,线上订单与线下运营的无缝衔接成为了商家和企业提升运营效率的关键环节。尤其对于依赖ERP和WMS系统的企业而言,如何高效、快速地实现与电商平台的数据对接,确保订单、库存、物流等信息的实时同步,是优化供…

基于Spring Boot的电子请柬私人定制销售平台的设计与实现---附源码78900

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.1.1技术可行性 2.1.2经济可行性 2.1.3社会可行性 2.1.4法律可行性 2.2 系统流程分析 2.2.1 数据流程 2.2.2 业务流程 2.3 系统功能分析 2.3.1 功能性…

Android 11 访问/mnt/media_rw下的U盘文件,使用File.listFiles()方法列出U盘文件,始终错误返回null,已解决。

背景介绍:我做的launcher有一个功能,就是检测U盘中是否有update.zip文件,有的话就拉起升级程序,没有就弹窗提示没有。使用File.listFiles()列出/mnt/media_rw下的U盘文件列表,明明U盘有文件,代码逻辑也没错…

【JVM】类加载过程|双亲委派模型

目录 四、类加载过程 1.类加载过程 2.双亲委派模型(经典面试题) 什么是双亲委派模型 双亲委派模型的优点 破坏双亲委派模型 四、类加载过程 1.类加载过程 咱们写的java代码,是.java文件(硬盘),一个j…

手动用梯度下降法和随机梯度下降法实现一元线性回归

手动用梯度下降法实现一元线性回归 原文链接:https://www.cnblogs.com/qimoxuan/p/18407823 实验目的 本次实验旨在通过手动实现梯度下降法和随机梯度下降法来解决一元线性回归问题。具体目标包括: 生成训练数据集,并使用matplotlib进行可视化。设计一个`LinearModel`类来…

Mac清理其他文件:释放存储空间的高效指南

每个Mac用户都可能遇到存储空间不足的问题,尤其是当“其他”文件积累到一定体积时。在Mac上,“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意,但逐渐占用了…

Java-idea小锤子图标

这一版的idea小锤子图标其实就在这里 点进去就找到了~

基于C#+SQL Server2008 开发三层架构(CS界面)图书管理系统

图书管理系统 一、项目背景及意义 当今由于信息技术的飞速发展,图书馆作为社会知识信息媒介的功能日益重要,网络环境下的信息资源建设知识仓库的设计,开放存取学术交流模式,知识管理系统,智能检索,数字参…

unocss 一直热更新打印[vite] hot updated: /__uno.css

控制台持续打印了几千条这条信息,页面逐渐卡死 client.ts:450 [vite] hot updated: /__uno.css 找出的原因是:依赖出问题了,重新安装unocss, 执行命令 npm i unocss 后修复。 但奇怪的是,删除node_modules重新全部安装…

一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus

uniapp-vue3-template 一个简约的uniapp登录界面,基于uniappvue3uview-plus 页面主要包括:用户登录,手机验证码登录,用户注册,重置密码等页面 登录进去后为空白模板 源码在文末 界面 源码 uniapp登录界面源码