程序员必备,Fiddler和spy-debugger的远程调试手机APP
haoteby 2025-07-08 18:13 43 浏览
背景
笔者从事Web开发,不论是PC端还是APP端,调试抓包都是必不可少的环节,懂前端的人都知道,PC端调试非常方便,Chrome或者火狐等浏览器等都自带了非常方便且易于使用的开发者工具,便于我们抓包调试。但是现在开发不仅仅是PC端,移动端也占了很大的比重,但是在移动端调试就没PC端这么方便了,因此就要借助第三方的抓包工具供我们调试抓包,本文就介绍两个常用的方法进行介绍,分别是Fiddler和开源的抓包工具spy-debugger!
Fiddler
Fiddler是一个用于HTTP调试的代理服务器应用程序,最初由微软Internet Explorer开发团队的前程序经理Eric Lawrence编写。Fiddler能捕获HTTP和HTTPS流量,并将其记录下来供用户查看。它通过使用自签名证书实现中间人攻击来进行日志记录。可以说它是一个非常强大的抓包工具,不过本文仅介绍移动端的调试!
下面我们一起来看看如何操作:
PS:Fidder软件下载可以自行搜索或者在文末获取下载方式
1、解压并打开软件压缩包,将证书插件中的文件dll拷贝到Fiddler的根目录,也就是它本身的上级目录。
2、打开软件后提示更新,点击否,然后点击工具=》选项,并勾选忽略服务器证书错误
3、然后点击连接选项卡,如下所示设置代理端口,其他选项可参考笔者设置,这是为了后面作为抓包代理所使用的
PS:以上操作需要重启Fiddler
4、这个地方我们作为测试,我在本地跑了一个测试的API,仅仅是一个没有任何授权的测试API
5、打开模拟器或者你的手机,手机需要同电脑在同一局域网络环境下,然后打开浏览器,输入你的ip+刚刚设置的端口号,下载证书,按提示安装即可
6、修改模拟器的网络代理
7、在模拟器浏览器重新访问刚刚测试的API,抓包成功
8、测试浏览器访问其他网页,都能成功抓取到
9、抓取酷安应用商店下载APP地址,随便打开一个APP详情页面,点击下载,成功抓取到下载链接
PS:Fiddler简单使用模拟器进行远程调试的方法就此结束,更多高级的用法需要开发者自行摸索,本文在此不在赘述!(软件获取方式在文末)
spy-debugger
spy-debugger是一个开源的抓包调试工具,它相对于Fidder来说更加简单,微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备。不过得先满足一定的条件,下面我将带大家一起来安装并测试:
https://github.com/wuchangming/spy-debugger
它具备以下特性:
- 1、页面调试+抓包
- 2、操作简单,无需USB连接设备
- 3、支持HTTPS。
- 4、spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy。
- 5、自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。
- 6、可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)
我是在Windows环境下,因此演示环境是Windows,首先你得安装过了nodejs,我们使用npm安装它:
安装:npm install spy-debugger -g
启动:spy-debugger
下面是一些其他启动选项,根据自己的需要自行配置:
1、端口:
(默认端口:9888)
spy-debugger -p 8888
2、设置外部代理(默认使用AnyProxy)
spy-debugger -e http://xxx:8888
spy-debugger内置AnyProxy提供抓包功能,但是也可通过设置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler。
3、设置页面内容为可编辑模式
该功能使页面内容修改更加直观方便。 (默认: false)
spy-debugger -w true
内部实现原理:在需要调试的页面内注入代码:
document.body.contentEditable=true。暂不支持使用了iscroll框架的页面。
4、是否允许weinre监控iframe加载的页面
(默认: false)
spy-debugger -i true
5、是否只拦截浏览器发起的https请求
(默认: true)
spy-debugger -b false
有些浏览器发出的connect请求没有正确的携带userAgent,这个判断有时候会出错,如UC浏览器。这个时候需要设置为false。大多数情况建议启用默认配置:true,由于目前大量App应用自身(非WebView)发出的请求会使用到SSL pinning技术,自定义的证书将不能通过app的证书校验。
6、是否允许HTTP缓存
(默认: false)
spy-debugger -c true
我本地直接使用和Fiddler一样的端口8888,自动打开浏览器后点击请求调试
spy-debugger -p 8888
这个地方由于设置的和Fiddler一样的代理端口,因此模拟器端不必再重新设置网络
然后我们和刚才一样,同样能够进行正确的抓包调试,如下:
总结
本文就笔者的经验而言,介绍两种远程真机或者模拟器调试的方法,整个流程并不是很复杂,笔者也是才接触不久,在此分享给大家,希望对刚刚接触的小伙伴有所帮助!
PS:如果你没有找到Fiddler或者无法使用,可以私信 ‘Fiddler’,自动获取下载方式!
相关推荐
- 一日一技:用Python程序将十进制转换为二进制
-
用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...
- 十进制转化成二进制你会吗?#数学思维
-
六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...
- 二进制、十进制、八进制和十六进制,它们之间是如何转换的?
-
在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...
- c语言-2进制转10进制_c语言 二进制转十进制
-
#include<stdio.h>intmain(){charch;inta=0;...
- 二进制、八进制、十进制和十六进制数制转换
-
一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...
- 二进制、十进制、八进制、十六进制间的相互转换函数
-
二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...
- 二进制、八进制、十进制和十六进制等常用数制及其相互转换
-
从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...
- 二进制如何转换成十进制?_二进制如何转换成十进制例子图解
-
随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...
- 二进制与十进制的相互转换_二进制和十进制之间转换
-
很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...
- 十进制如何转换为二进制,二进制如何转换为十进制
-
用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...
- 十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明
-
我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...
- 二进制转化为十进制,你会做吗?一起来试试吧
-
今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...
- Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译
-
Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...
- 怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定
-
想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...
- 6个mp4格式转换器测评:转换速度与质量并存!
-
MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...