当前位置: 首页 > news >正文

抓包工具之whistle

文章目录

  • 抓包工具之whistle
    • 什么是whistle
    • whistle 和 charles区别
    • 安装whistle
    • 启动whistle
    • 配置代理
      • 全局代理 (**推荐**)
      • 浏览器代理 (推荐)
      • 总结
    • 下载根证书,开启捕获HTTPS请求

抓包工具之whistle

什么是whistle

官网:https://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模块扩展功能。

whistle 和 charles区别

在这里插入图片描述

Charles可以按照域名维度来组织这些网络请求,而Whistle默认罗列这些请求(当然可以按照各种规则来排序)。如果你习惯了按照域名维度来组织抓到的包,可以在Whistle里面点击鼠标右键"Open"->"Tree View"来切换成和Charles一样。

总结:charles简单易用,但是可扩展性比不上whistle,whistle用熟了之后,效率是比Charles要高的。

安装whistle

Node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面加sudo,如:sudo npm install -g whistle

$ npm install -g whistle

whistle安装完成后,执行命令 whistle helpw2 help,查看whistle的帮助信息

启动whistle

最新版本的whistle支持三种等价的命令whistlew2wproxy

启动whistle:

$ w2 start

Note: 如果要防止其他人访问配置页面,可以在启动时加上登录用户名和密码 -n yourusername -w yourpassword

重启whsitle:

$ w2 restart

停止whistle:

$ w2 stop

调试模式启动whistle(主要用于查看whistle的异常及插件开发):

$ w2 run

启动完whistle后,最后一步需要配置代理。

配置代理

  1. 代理服务器:127.0.0.1 (如果部署在远程服务器或虚拟机上,改成对应服务器或虚拟机的ip即可)
  2. 默认端口:8899 (如果端口被占用,可以在启动时通过 -p 来指定新的端口,更多信息可以通过执行命令行 w2 help (v0.7.0及以上版本也可以使用w2 help) 查看)

勾选上 对所有协议均使用相同的代理服务器

全局代理 (推荐)

全局代理 (推荐),可通过命令行设置参考设置代理,也可以手动配置:

Mac: System Preferences > Network > Advanced > Proxies > HTTP or HTTPS

浏览器代理 (推荐)

浏览器代理 (推荐):安装浏览器代理插件
安装Chrome代理插件:推荐安装SwitchyOmega

总结

对于要抓某个应用(例如浏览器)支持proxy配置的话,使用这种方式,可以很方便的调试跟踪,不影响其他应用访问,强烈推荐这种方式~

下载根证书,开启捕获HTTPS请求

官方文档:http://wproxy.org/whistle/webui/https.html

在这里插入图片描述whistle会自动生成根证书,并根据根证书对每个请求动态生成https证书.

打开证书管理界面,找到带有 whistle 的字样的证书,如果有多个又不确定最新安装的是哪个,可以全部删除后重新安装

在这里插入图片描述
Enable HTTPS:开启Https拦截功能,只有勾上这个checkbox及装好根证书,whistle才能看到HTTPS、Websocket的请求

也可以通过配置来开启对部分请求的Https拦截功能

www.test.com enable://intercept
/alibaba-inc/ enable://intercept

相关文章:

  • 8个实用销售工具
  • MATLAB基本操作
  • 卢曼卡片盒笔记法介绍 Introduction to the Zettelkasten Method
  • OpenIPC开源FPV之Adaptive-Link信号干扰
  • 硬盘加密安全
  • springBoot统一响应类型3.5版本
  • 计算机视觉入门:从像素到理解的旅程
  • C# 窗体应用(.FET Framework) 线程操作方法
  • spring boot 整合redis
  • JAVA设计模式之适配器模式《太白金星有点烦》
  • 百度文库免费下载器
  • 【算法day28】解数独——编写一个程序,通过填充空格来解决数独问题
  • 聊一聊,元件封装知多少?
  • 数据结构C语言练习(两个栈实现队列)
  • go游戏后端开发19:创建房间
  • 机器人基础知识-2
  • 万字知识篇(2):SpringBoot的常用注解(上)
  • C++学习笔记(三十三)——forward_list
  • zk基础—2.架构原理和使用场景二
  • 数字图像处理实验报告7-图像压缩编码
  • wordpress同步发布/长沙网站优化公司
  • 商品交换电子商务网站开发/寻找客户的12种方法
  • 微信做淘宝优惠券但网站是怎么建设但/一站式网络推广服务
  • 做网站的标签什么意思/seo优化好做吗
  • 门户网站建设课程设计/关键词优化排名软件流量词
  • 怎么做一购物网站/深圳网站建设的公司