介绍一个web调试代理工具--whistle
发布于 8 年前 作者 avwo 11294 次预览 最后一次回复是 8 年前 来自 分享
whistle是基于Node实现的跨平台web调试代理工具,可用于抓包、配置hosts、设置代理、修改请求响应、延迟请求响应、限制请求响应速度等等,集成了常用的调试移动端页面的方法,基本上覆盖了web请求的方方面面,一切都可以通过配置完成,且支持通过Node模块进行扩展。
具体功能参考Github: https://github.com/avwo/whistle。
快速入门推荐看这篇文章:whistle工具全程入门。
关于移动端调试可以参考这篇文章:利用whistle调试移动端页面
13 回复
能调试移动端,还是很赞的,目前一直在使用 weinre 调试非chrome浏览器
@DevinXian 嗯,移动端调试只是whistle的一小部分功能,whistle主要用来做web代理调试,本地替换、请求替换、修改请求响应内容、请求方法、响应状态码、请求响应头等等,基本上涵盖了web代理工具可以做的事情
Node v7.10开始做了什么大变更没,大家有没有遇到过类似问题,whistle/issues#60
@avwo 上述问题已经解决,可以使用各版本的Node(建议Node >= v6),更新Node到最新版本(>= v1.5.5)即可
顶起来 在给个更好的工具 -》fiddler 更适合在win下面做这个事
貌似会影响翻墙.
@ppgs8903 Fiddler很不错,以前我也一直在用,主要用到三个功能:抓包、断点修改及本地替换(目录匹配支持不是很好);
whistle的功能会更丰富些,且一切操作都可以通过配置实现,支持多种匹配方式、多种规则、配置分组、及内置了移动端调试的一些常用方法,基本上常用的调试调试方法whistle都具备,也可以通过Node模块扩展功能,实现跟自己业务相关的规则;还有whistle是跨平台的,Mac、Windows、Linux的桌面版或服务器版都可以使用;
你可以自己使用后尝试作下对比,有问题或建议欢迎提issue。
@winky 如果你用的是shadowsocks代理,而已通过配置socks把指定请求转发到你的socks代理,如
/google\.com|facebook\.com/ socks://127.0.0.1:1080(如果有用户名及密码:/google\.com|facebook\.com/ socks://name:pass@127.0.0.1:1080);如果是普通的http代理,也使用proxy把指定请求转发到http代理怎么抓https请求的包?
顶avwo!
@Kinka 需要安装whistle的根证书及开启HTTPS拦截:
Https菜单,点击二维码下载安装好根证书后开启HTTPS拦截(注意:iOS安装根证书时,不能先开启拦截,否则无法安装,且iOS安装完后需要手动设置启用根证书)。
更多内容参考: 帮助文档
对一些特殊请求想忽略掉指定规则,比如本地文件替换时,一些获取后台数据的ajax请求不想走本地文件,怎么配置?
@zhaopeifei 本地替换可以把file或者tpl分别改成xfile或xtpl,这样的如果本地没有匹配请求的文件会自动请求线上资源。更通用的解决方式是采用ignore协议,可以忽略指定协议,要忽略哪个就设置相应的协议名称,多个协议用
|分割,如pattern ignore://file|xfile|http|https|ws|wss|host(host表示设置的服务器IP)。