Fiddler抓包远程调试篇

Fiddler抓包远程调试篇

         由于部分同学没有mac电脑或者其他条件限制,不方便在ios手机上调试,或者在4.3版本的安卓手机以下在客户端大厅内不能debug,我们只能采用fiddler抓包进行远程调试。

         远程调试使用weinre,weinre是一款非常好用的远程调试工具。功能与网页浏览器的开发者工具基本类似,但这个工具更适合用于移动端web的调试。

抓包的作用:

1.可使用的电脑:windows或mac电脑调试android和ios手机

2.可调试的手机有(所有手机):安卓4.3版本以下、安卓4.3以上、ios手机

3.可抓取移动端(android和ios)或pc端从服务器端返回的响应报文

4.可解决与服务端交互的跨域问题,在fiddler工具内可下发跨域头

5.域名替换,用本地代码可替换线上的代码

fiddler抓包步骤如下:(以windows电脑为准,mac电脑需加前缀)

步骤一:pc电脑打开下载fiddler,一部手机,不需要数据线

步骤二:打开fiddler工具,设置监听端口号,默认是8888

(查看fiddler的默认端口号,也可自己设置)

步骤三:cmd命令打开窗口,用ipconfig命令拿到电脑ip(192.168.157.147)

步骤四:前提条件是电脑和手机在同一网络下,打开手机显示wifi网络页,点击或长按,进入到代理设置,进入到手动设置,服务器填电脑ip,端口填fiddler工具设置的端口号,使用默认情况就填8888

步骤五:在手机任意浏览器访问网页后,在fiddler框内拿到项目的入口文件(如:********/bestpayMobdown.html),把此文件里面的代码赋值出来,保存在电脑的一个文件夹目录下:(如:  temp/down.html)(如果状态码是304,拿不到入口的bestpayMobdown.html文件,就是浏览器有缓存,状态码为200就可复制bestpayMobdown.html里面的内容,手动保存一个down.html文件)

验证是否生效:复制代码好之后,就在html文件内写上一行 <script type="text/javascript">alert(1);</script> ,然后用手机刷新浏览器,看看手机是否弹出1。弹出1说明fiddler替换文件生效。

步骤六:在fiddler内设置一个路径,目的是手机访问的线上或者本地起的一个服务的index.html,设置后就是访问本地刚刚手动保存的temp/index.html文件(可查看图片上的说明文字)

步骤七:查看设置是否有效,在temp/index.html文件内打印一个alert(1),再次刷新手机浏览器,如果浏览器显示alert(1)的内容,说明设置代理成功了,否则要查找原因

注意:如果找不到或者下载不了入口文件,可排查出浏览器是否是有缓存,拿到状态码是304;清除缓存地方:应用管理 --》 清除某个浏览器的数据

远程调试步骤如下:使用weiner调试 (weiner远程调试结合fiddler调试)

调试链接:weinre的使用 - migo_ - 博客园(不明白可访问)

步骤八:如果电脑未安装weinre服务,需npm -g install weinre 安装

步骤九:启动weinre服务  weinre --httpPort 8081 --boundHost 192.168.157.147

httpPort:调试服务器运行的端口,默认8080,一般8080端口被占用,所以换个端口号

8081:端口号,可自己定义,必须与fiddler的端口不同,或者本地其他端口号不同

192.168.157.147:本地电脑的ip地址

步骤十:启动服务后,用chrome浏览器打开 http://192.168.157.147:8081,然后找到script文件 

步骤十一:引入weinre中刚刚找到的script文件路径,在temp/index.html中加入这个script文件路径,<script src="http://192.168.157.147:8081/target/target-script-min.js#anonymous">

步骤十二:点击访问页面最上方的dubug的链接

备注:

1、以上如果需要调试1个或者多个js和css文件,都可用上述步骤来操作。

2、有时候weinre服务打开的链接,在浏览器内不出来,网速导致。

缺点:由于调试步骤较多较复杂,需要调试才使用fiddler调试,一般使用其他方式进行调试

二、实际场景应用

1、需求是要在电脑浏览器访问百度,在fiddler中替换成其他页面的地址 (本地的localhost:3000项目地址也可) ,但是携带的参数放在要替换的地址后面

答:按照下图设置后,在浏览器访问百度,可直接跳转到重定向的页面去,且参数也可带过去。不需要使用weinre服务。

2、本地代码替换线上全部的代码

答:只需要用fiddler替换本地的xxx.html文件,在xxx.html引入的其他文件都在本地

3、本地代码替换线上一个js、css、html文件

答:只需要用fiddler替换本地的xxx.js文件,或者其他单独的文件,如果需要替换多个,可设置替换多个文件

三、问题

1、如果要抓https上的文件,需要先在fiddler上安装https证书

备注:路径1: fiddler抓包相关原图片

        路径2:  fiddler抓包相关图片集合

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值