分享:真机页面调试+抓包,调试微信生产环境 HTTPS 页面工具集成。(weinre + AnyProxy)

2016-07-26 13:04:16 +08:00
 wuchangming89

项目地址在 github 上: https://github.com/wuchangming/spy-debugger

关于 spy-debugger

一站式页面调试、抓包工具。远程调试任何手机浏览器页面,任何手机移动端 webview (如:微信, HybirdApp 等),支持: HTTP/HTTPS

Demo

调试界面

抓包界面

特性

1 、页面调试+抓包
2 、操作简单
3 、支持 HTTPS
4 、spy-debugger内部集成了weinrenode-mitmproxyAnyProxy
5 、自动忽略原生 App 发起的 https 请求,只拦截 webview 发起的 https 请求。对使用了 SSL pinning 技术的原生 App 不造成任何影响。
6 、可以配合其它代理工具一起使用(默认使用 AnyProxy) [(设置外部代理)](#设置外部代理默认使用 anyproxy)

安装

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 代码。让页面调试更加方便。

14900 次点击
所在节点    JavaScript
30 条回复
wuchangming89
2016-07-26 13:07:54 +08:00
不仅限于微信,所有手机端的页面都支持
jsser
2016-07-26 13:16:45 +08:00
👍
wuchangming89
2016-07-26 13:22:55 +08:00
@jsser Thanks
iyaozhen
2016-07-26 13:25:09 +08:00
赞!
wuchangming89
2016-07-26 13:27:48 +08:00
@iyaozhen , Thanks 。
使用中有遇到什么问题可以和我反馈。尽量做到更好
https://github.com/wuchangming/spy-debugger/issues
laoyuan
2016-07-26 13:40:30 +08:00
好,之前我用 Charles + Proxifier 调试,现在可以扔了!
wuchangming89
2016-07-26 13:42:20 +08:00
@laoyuan : )
bobsam
2016-07-26 14:12:58 +08:00
看上去挺不错的!先试用看看效果~
wuchangming89
2016-07-26 14:32:45 +08:00
@bobsam 欢迎试用 : )
wuchangming89
2016-07-26 15:40:36 +08:00
长时间使用, AnyProxy 可能导致 crash ,不知道 AnyProxy 什么时候能更新一版本
xmpx310
2016-07-26 16:15:00 +08:00
有 fiddler 好用吗
yangxiongguo
2016-07-26 16:16:50 +08:00
mark
wuchangming89
2016-07-26 16:21:55 +08:00
@xmpx310 ,看场景,如果你要调试页面。或者看 js 的 log 。 fiddler 就没办法了
wuchangming89
2016-07-26 16:31:48 +08:00
@xmpx310 ,但 spy-debugger 也可以结合 fiddler 一起用。

https://github.com/wuchangming/spy-debugger#设置外部代理默认使用 anyproxy

启动方式:
spy-debugger -e http://127.0.0.1:[fiddler 端口]
yushiro
2016-07-26 17:08:49 +08:00
这个可以有,非常不错的我工具
wuchangming89
2016-07-26 17:23:03 +08:00
@yushiro : )
TangMonk
2016-07-26 17:27:13 +08:00
现在用的这个,微信官方出的,感觉还行
wuchangming89
2016-07-26 17:33:32 +08:00
@TangMonk ,嗯,这个不支持 HTTPS
wuchangming89
2016-07-26 17:34:14 +08:00
@TangMonk 而且没有找到开源代码。。本来想改它的。
fhefh
2016-07-26 21:48:29 +08:00
太棒了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/295004

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX