whistle】的更多相关文章

whistle是基于Node实现的跨平台web调试代理工具,支持windows.mac.linux等所有安装了Node的操作系统,可以部署在本地机器.虚拟机或远程服务器,并通过本地网页查看或修改HTTP.HTTPS.Websocket请求(响应)的基本信息.头部及内容等. whistle把每一类操作对应一个协议,每个修改操作抽象成一个uri,通过简单设置请求url到操作uri的对应关系,实现通过配置操作请求,支持通过扩展协议新增功能:具有配置灵活,功能强大等特点. 配置界面及操作请参考:http…
无论是前端开发还是客户端,实际开发过程中,抓包都经常被用到.工欲善其事必先利其器,一款好用的抓包工具也是必须的. 说到抓包,Windows系统上不少人都用过Fiddler,Mac或Linux上用Charles,本文主要推荐一款支持多系统的抓包工具:whistle. whistle,具有跨平台(Win/Mac/Linux)的 Fiddler之称,基于NodeJs实现,是一款比较新的新的跨平台web调试代理工具. 看一下whistle当前主要实现了的功能图谱.具备常用的抓包所有功能,并支持自实现的插…
绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中.如果没有做好异常的兼容和兜底处理,会极大的影响用户体验,严重的还会带来安全和资损风险. 接口异常,通常可以分为以下三类: CGI 逻辑出错.如调用方入参缺失类业务逻辑报错: 服务不稳定.如服务器不稳定导致 nginx 各类 500.502,cgi 路径调整导致的 404 用户网络环境差.如,网络不稳定.网速慢.运营商劫持等 那么,我们在写代码时,如何快速的模拟这些接口异…
加入鹅厂之后,我发现团队都在用一款叫做 Whistle 的工具,起初我以为这只是一款类似 Fiddler/Charles 的普通货色.然鹅,发现下面这两种用法之后,我把自己的膝盖摘下来献给了制作这款工具的大佬. 如果你还没用过 whistle,没关系.只需两步: 第一步,Node.js 环境下全局安装 npm i -g whistle 并启动 whistle w2 start 第二步,给 Chrome 浏览器装个 SwitchyOmega 的插件,添加一个将所有请求转发到 127.0.0.1:8…
whistle介绍 whistle是基于Node的跨平台web调试代理工具, 主要查看, 修改HTTP, HTTPS, Websocket的请求,响应, 也可以作为HTTP代理服务器使用 (文档)[http://wproxy.org/whistle/] Chrome DevTools Chrome开发者工具也能实现简单的资源替换, 但是功能没有whistle强大, 也有很多局限性 开发者工具打开资源面板(Sources) 选中Overrides选项卡, 单机下面的Select folder fo…
移动端h5页面嵌入的方式多种多样,普通的chrome真机调试功能有时就不能满足要求了. whistle通过设置wifi服务器代理的方式,可以抓包调试所有移动端请求的页面. whistle的github地址:https://github.com/avwo/whistle/blob/master/README-zh_CN.md. 总的来说,分成3步: 1. 启动代理服务器. 依托node,全局安装whistle,通过 whistle start 命令启动. 2. 浏览器设置代理服务器,用于显示抓包调…
场景一:如何将本地的请求代理到服务器上(如果接口没有校验登陆的情况) 最简单的方法:在项目文件中找到webpack开发环境的配置文件,配置devServer对象 devServer: { contentBase: './dist', port: 8081, hot: true, open: true, historyApiFallback: true, host: '127.0.0.1', disableHostCheck: true, headers: { 'Access-Control-Al…
接触过前后端开发的同学应该都了解网络请求代理工具fiddler(mac下面常用的是Charles),可以用来拦截分析请求.包装请求.本地调试和移动端代理开发调试等.多多少少,fiddler和Charles使用起来还是有些区别,不过还好都是可视化的界面使用配置起来也都比较方便.   先说下使用体验.对于一个追求高效的开发者来说,总是觉得要经常切换两个工具的使用比较麻烦,但是配置规则不通用,fiddler+willow组合的使用很不错,但也总是让电脑比较慢,而且规则配置需要点击输入显得不那么高效:C…
1:对于安卓直接扫码安装https的证书: 对于ios  连接电脑发出的wifi,打开whistle,配置代理之后(一定要保证先链接电脑发出的wifi,且配置代理) 用Safari打开网址:http://rootca.pro.下载rootca证书进行安装: 最后一步: 设置----通用-----关于本机------证书信任设置------>找到whistle证书打开信任…
前沿 之前在window下开发的同学大部分都是使用Fiddler代理工具做远程调试,自从换了Mac后也想找个代替工具调试,查询了下大概都比较推荐两款:Charles 和 Whistle .不过Charles看起来是要收费的,那小伙伴们果断开始尝试用Whistle替代. 大概介绍下Whistle https://github.com/avwo/whistle whistle是用Node实现的类似Fiddler的web调试代理工具,支持查看和修改HTTP(S).Websocket请求响应数据,且支持…
Discription Statements Whistle has bought a new car, which has an infinite fuel tank capacity. He discovered an irregular country since it has n cities and there are exactly n - 1roads between them, of course, all cities are connected. He is so much…
J. Whistle's New Car time limit per test 15 seconds memory limit per test 512 megabytes input car.in output standard output Whistle has bought a new car, which has an infinite fuel tank capacity. He discovered an irregular country since it has n citi…
npm全局安装 npm install -g whistle 全局启动 w2 start 启动之后,输入127.0.0.1:8899 就可以访问到whistle调试界面了: 我们主要常用几个功能: 1.mock本地数据映射,即手机请求线上某个接口的时候做本地映射,直接请求本地json数据 2.查看console打印信息,对于windows系统的电脑来说还是很有用的,否则调试ios是个很大的麻烦 mock数据映射 点击该调试界面的左边第二个按钮,rules,输入想要拦截的接口 空格 本地mock数…
本文链接:https://blog.csdn.net/weixin_42534940/article/details/88783455安装参考: https://github.com/avwo/whistle 目录 1. 安装 Node.js 2. 安装 whistle 3. 启动 whistle 4. PC 安装根证书 5. 手机安装 根证书 6. 使用 whistle 抓包 1. 安装 Node.jsNode.js 下载地址:https://nodejs.org/en/ 直接下载然后安装,安…
新版本的whistle支持三种等价命令whistle,w2,wproxy 启动whistle w2 start 启动时指定端口 w2 start -p (// 不设置端口默认使用8899) 默认端口为8899,如果端口被占用,要修改端口号,可以通过 -p来指定新的端口号 停止whistle w2 stop 重启whistle w2 restart 查看帮助 w2 -h 或 w2 --help…
前言 whistle是基于Node实现的跨平台抓包调试代理工具,有以下基本功能: 查看HTTP.HTTPS请求响应内容 查看WebSocket.Socket收发的帧数据 设置请求hosts.上游http/socks代理 修改请求url.方法.头部.内容 修改响应状态码.头部.内容,并支持本地替换 修改WebSocket或Socket收发的帧数据 内置调试移动端页面的weinre和log 作为HTTP代理或反向代理 支持用Node编写插件扩展功能 具体功能如下: 一.安装启动 1.whistle安…
一.业务场景 前端本地开发的场景中,我们需要频繁的改动代码,并需要实时看到效果,并且在一些开发场景中,我们需要将特定的请求代理到特定的IP.本地文件等,所以使用fiddler或whistle等本地.真机抓包调试工具是非常必要的. 二.为什么使用whistle 在历史的长河中,我们是使用fiddler+willow再搭配小米wifi 进行本地和真机抓包调试的,无可厚非,fiddler的抓包和代理的功能十分强大,但在使用的过程中,有个很蛋疼的缺点就是内存泄漏!!fiddler挂一整天,内存就被吃完了…
由于最近在学习微信小程序开发,项目中用到了https代理请求,所以用到了基于Node实现的跨平台web调试代理工具Whistle,在此做一记录. 完成https代理请求总共需要5个步骤. 一.安装Node.js    在这边就省略了 二.安装并启动Whistle1.安装Whistle打开cmd命令窗口,执行 $ npm install -g whistlenpm默认镜像是在国外,有时候安装速度很慢或者出现安装不了的情况,如果无法安装或者安装很慢,可以使用taobao的镜像安装: $ npm in…
额,这篇忘了是来自哪位作者的了. whistle:1.14.6 这里以抓取浏览器数据包为例,分析抓取的数据. Method:Connect,对应Host:Tunnel to意思是因为网络环境受限,客户端无法直接访问某些网络,所以只能通过代理服务器访问网络(客户端使用http connect请求代理服务器,代理服务器使用connect方法与目标服务器建立http tunnel),然后将内容转发给客户端,从宏观上看,客户端与服务器端就像建立了一条隧道一样. GET:网址带参数. POST:回车操作,…
环境:whistle:1.14.6 whistle手机抓包 以安卓手机为例 手机跟电脑要连同一个wifi. 1.启动whistle 使用w2 start启动whistle. 退出cmd后,whistle自动关闭了,所以每次使用whistle,需要启动whistle,不然提示w2命令无法使用. 2.安装证书 电脑打开浏览器,输入网址:http://127.0.0.1:8899/,点击HTTPS,安卓手机可以直接通过手机浏览器扫描二维码下载安装证书或者在浏览器网址中输入rootca.pro,下载证书…
环境:whistle:1.14.6 whistle浏览器抓包 以火狐浏览器为例 1.启动whistle 使用w2 start启动whistle. 退出cmd后,whistle自动关闭了,所以每次使用whistle,需要启动whistle,不然提示w2命令无法使用. 2.安装证书 打开火狐浏览器,输入网址:http://127.0.0.1:8899/,点击HTTPS,因为是抓浏览器的包,所以,直接点击Download RootCA.要是抓手机包,可以直接通过扫描二维码安装证书. 下载证书成功后,打…
可参考官方帮助文档:https://wproxy.org/whistle/install.html 系统:windows10   jdk:1.8.0_171    node:10.16.0    npm:6.9.0     whistle:1.14.6 安装&启动whistle步骤: 1.安装Node 访问https://nodejs.org/  ,安装LTS版本的Node即可,默认安装. 安装好后,在cmd中输入node -v查看当前node版本(因为我将node安装到了d盘,所以需要进入no…
页面的域名是 a.com,接口的域名为 b.com,这是跨域的因此不会将 cookie 带过去的,也就没有登录态. 解决方法:利用 whistle 的 composer 功能. whistle github 地址 说白了没有登录态一般就是没有 cookie,此时我们可以抓取一个现网的包,然后将 cookie 进行复制,然后利用 composer 功能将 cookie 添加到那个接口的 header 中即可. 如果你想测试的是现网的接口,那么使用 whistle 提供的 replay 功能即可.…
https://vjudge.net/problem/Gym-101147J 题意: 有n个城市,每个城市有一个权值,表示在这个城市的加油站可以加多少油. 现在要计算每个城市i,有多少个城市j可以到达它: ① j 是 i 的子树. ② 在城市 j 加满Xj的油后不再加油能到达 i 城市. 思路:我们从根结点出发,dfs整棵树,在dfs的过程中,我们维护一个道路长度的和sum[],sum[j]就是1到第j个城市的路径之和. 假如我们现在dfs到了第j个城市v,此时1~j的路径之和就是sum[j],…
题意就是对每个点i,统计在其子树内(不含自身),且depj-depi<=xj的点有多少个. 把点分别按照dep-x和dep进行排序,离线处理, 每次把dep-x小于等于当前dep值的点插入树状数组,就变成了询问dfs序在一个区间内的点有多少个,可以用树状数组轻松解决. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int f,C; void R(int &am…
题意: 给出一颗有点权和边权的树.求每一个点u的子树中有多少点v,使得点v到点u的距离小于等于点v的权值. 题解: 对于每一个点,倍增的预处理出他的祖宗节点及距离.根据预处理的结果求出每个点能到的最远的祖宗节点. 设点u能到的最远祖宗节点为v.利用差分的思想在点tree[u]+1,点tree[v]-1. 最后每个点的答案就是子树的tree[]和. #include <bits/stdc++.h> using namespace std; typedef long long ll; ; int…
引言 写这个工具,主要有几个原因: 最近老大在尝试不同视角的测试----健壮性测试,任务下来,所以挽起袖子就开撸了 app很可能因为后端api做了变更,返回了一个异常的值而出现难以预知的问题,健壮性受到碰撞,所以这种测试是有实际价值的 思寒的一篇帖子<基于 fuzz 技术验证移动端 app 的健壮性>我觉得挺好玩,这里要非常非常感谢他提供的思路,从下面的回复也可看出来大家还是比较感兴趣,而他因为遇到一些问题尚未开源,所以我挽起袖子就开撸了 社区里最近用anyproxy的挺多,我想说我们厂应该是…
string.IsNullOrEmpty()这个方法算得上是.net中使用频率最高的方法之一.此方法是string的一个静态方法,类似的静态方法在string这个类中还有很多.那么这样的方法作为静态方法是否合理呢?如果我们从面向对象的角度出发,我们会发现这种方案不是十分符合面向对象的设计原则. 什么是对象?对象是拥有数据和行为的结合体.如果说string是一个类,那么string message="hello"这句话就定义了一个string的对象,名称叫做message. 一.让对象自…
这道题只要英语单词都认得,阅读没有问题,就做得出来. POJ - 1666 Candy Sharing Game Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u Description A number of students sit in a circle facing their teacher in the center. Each student initially has an even n…
We will not go quietly into the night. 今夜,我们将奋战到底. We will be the champion. We will not stop fighting till the final whistle. We will go all out to win the game. Even if we lose, we will lose with dignity. I alone cannot change the world, but I can c…