spy-debugger抓包工具安装、调试手册
spy-debugger调试、抓包工具操作手册
Spy-debugger内部集成了weinre,通过代理的方式拦截所有html自动注入weinre所需的js代码。简化了weinre需要给每个调试的页面添加js代码。spy-debugger原理是拦截所有html页面请求注入weinre所需要的js代码。一站式页面调试、抓包工具,程调试任何手机浏览器页面,任何手机移动端webview(如:微信,HybridApp等)。支持HTTP/HTTPS,无需USB连接设备。
特点:
- 调试+抓包
- 操作简单,无需USB连接设备
- 支持HTTPS
- spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy。
- 自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。
- 可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)
spy-debugger安装前提
- 安装nodejs
- 安装nrm
为什么需要安装nrm?
npm服务器在国外,导致于国内使用非常慢; cnmp则常常无法下载完整。而nrm 就是用来解决此问题,它是一个 npm 源管理器,允许你快速地在 npm 源间切换。
全局安装nrm,命令如下图所示(-g 表示全局安装):
查看所有可用的路径:nrm ls
将npm下载源切换成指定的源,例如切换淘宝镜像:nrm use taobao
添加源:nrm add
删除源:nrm del
跳转到指定源的官网:nrm home [name]
spy-debugger安装、调试步骤
- 安装命令(先通过nrm切源,切到cnpm):
注:如果安装过程中出现如下错误,问题出在安装到一半的node_modules文件夹下,将该spy-debugger目录下该文件夹删除后,再执行上图安装命令即可成功
- 手机和PC保持在同一网络下(比如同时连到一个Wi-Fi下)
- 命令行输入spy-debugger,此时浏览器默认打开相应地址(如果没有自动打开则手动打开浏览器输入)
附:
spy-debugger常用命令如下:
- 设置外部代理(默认使用AnyProxy,spy-debugger内置AnyProxy提供抓包功能,但是也可通过设置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler)
spy-debugger -e http://127.0.0.1:8888
- 设置页面内容为可编辑模式(默认: false)
spy-debugger -w true
注:内部实现原理:在需要调试的页面内注入代码:document.body.contentEditable=true。暂不支持使用了iscroll框架的页面。
- 是否允许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
- 设置手机的HTTP代理,代理IP地址设置为PC的IP地址,端口为spy-debugger的启动端口(默认端口:9888)
输入服务器主机名和端口(主机名为当前调试PC的IP,端口为node-mitmproxy启动的端口)
- 手机安装证书(node-mitmproxy CA根证书)——暂不强制安装
注:手机必须先设置完代理后再通过(非微信)手机浏览器访问http://s.xxx(地址二维码)安装证书。(手机首次调试需要安装证书,已安装了证书的手机无需重复安装)
- 打开手机至需要调试的页面
如下图targets中出现内容则说明可以调试
最后,点击Elements进行调试