项目名称: spy-debugger 项目地址:https://github.com/wuchangming/spy-debugger
关于spy-debugger
特性
1、页面调试+抓包
2、操作简单
3、支持HTTPS。
4、spy-debugger
内部集成了weinre
、node-mitmproxy
、AnyProxy
。
5、自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。
6、可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)
Demo
调试界面
抓包界面
安装
Windows 下
npm install spy-debugger -g
Mac 下
sudo npm install spy-debugger -g
三分钟上手
第一步:手机和PC保持在同一网络下(比如同时连到一个Wi-Fi下)
第二步:命令行输入spy-debugger
,按命令行提示用浏览器打开相应地址。
第三步:设置手机的HTTP代理,代理IP地址设置为PC的IP地址,端口为spy-debugger
的启动端口(默认端口:9888)。
第四步:安装证书。注:手机必须先设置完代理后再通过(非微信)手机浏览器访问http://spydebugger.com/cert
安装证书(手机首次调试需要安装证书,已安装了证书的手机无需重复安装)。
第五步:用手机浏览器访问你要调试的页面即可。
自定义选项
端口
(默认端口:9888)
spy-debugger -p 8888
设置外部代理(默认使用AnyProxy)
spy-debugger -e http://127.0.0.1:8888
spy-debugger内置AnyProxy提供抓包功能,但是也可通过设置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler。
是否让weinre监控iframe加载的页面
(默认: false)
spy-debugger -i true
是否只拦截浏览器发起的https请求
(默认: true)
spy-debugger -b false
有些浏览器发出的connect请求没有正确的携带userAgent,这个判断有时候会出错,如UC浏览器。这个时候需要设置为false。大多数情况建议启用默认配置:true,由于目前大量App应用自身(非WebView)发出的请求会使用到SSL pinning技术,自定义的证书将不能通过app的证书校验。
是否允许HTTP缓存
(默认: false)
spy-debugger -c true
更多
spy-debugger
原理是集成了weinre
,简化了weinre
需要给每个调试的页面添加js代码。spy-debugger
原理是拦截所有html页面请求注入weinre
所需要的js代码。让页面调试更加方便。
第一个个人nodejs项目,大家多多支持
棒棒哒,加油
VS Code 把 NodeJS 和 Mono 的调试功能抽象出来了,大家就可以通过自定义 Debugger Adapter 和 VSCode Debug Protocol 从而实现自己的调试器。也可以试试这个
https://code.visualstudio.com/Docs/extensions/example-debuggers
更新 2.0 , 已支持HTTPS
支持下
@Baiang 谢谢
棒棒哒,加油
@Einsy 谢谢!有问题,欢迎大家反馈!
最新优化:简化证书安装步骤
请问如何实现代理https的页面,并能实现修改页面的内容,例如插入一段js返回?
@Einsy 这个可以看下我的另外一个项目 node-mitmproxy 的 逻辑图: 实现逻辑在: https://github.com/wuchangming/node-mitmproxy/tree/v2.x#关于伪造https证书的逻辑图
最新2.x分支在开发中,如果想提前使用可以通过 npm install node-mitmproxy@next 引如项目中。
最新更新: 添加 可选项 -b: 是否只拦截浏览器发起的https请求. 说明:有些浏览器发出的connect请求没有正确的携带userAgent,这个判断有时候会出错,如UC浏览器。这个时候需要设置为false。大多数情况建议启用默认配置:true,由于目前大量App应用自身(非WebView)发出的请求会使用到SSL pinning技术,自定义的证书将不能通过app的证书校验。
牛逼了忒
最新更新: 修复websocket 无法正常转发问题
最新更新 1、提升速度,RSA-2048 改为 RSA-1024
好厉害的感觉!
最新更新: 1、通过引入iconv-lite解决GBK编码问题
证书无法安装 地址无法访问 @wuchangming
@c15881291595 手机要先设置代理后再安装证书 。 第一次启动spydebugger会生成CA证书,位置在你本机的%HOMEPATH%/node-mitmproxy/node-mitmproxy.ca.crt。证书的安装地址只是代理做了转发。
@wuchangming ok 已经成功了
@wuchangming 但是微信里好像监控不了
@c15881291595 什么页面,应该都可以的。刷新下看看
@wuchangming 点的好友分享的内容进去监控不到 但是那个地址通过微信扫码可以监控到
@wuchangming 不过这样也可以 很好用 调试又方便了
@c15881291595 记起来了,有一种微信的页面确实不行:“mp.weixin.qq.com:443”这个域名下的页面当时注入脚本会报错,我就直接过滤掉了。 我抽时间看看是什么原因,修复下。
@c15881291595 , 该问题已在最新版本修复了。你更新下应该就好了。 accept-encoding的问题
棒棒哒
好屌的样子。。
已star
@SilenceDN 谢谢支持!
赞,好用
最新更新: 1、添加设置外部代理选项: https://github.com/wuchangming/spy-debugger#设置外部代理 spy-debugger本身没有提供抓请求包功能,但是可以通过设置外部代理来配合其它抓包代理工具一起使用,如:Charles、Fiddler。
最新更新: 1、内置集成AnyProxy。
iPhone + mac插上线就开始调试
@amor520 ,确实插线调是最直接的方式。但有些场景下可能就没办法了,比如微信的webview,其它app的webview,再或者android 4.3以下的版本。