抓包工具Fiddle使用
前言
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
1 为什么要用抓包工具?什么时候会选择抓包?
抓包工具可以协助测试与开发人员去定位问题,从而减轻工作量,节约时间成本
1、 不知道接口的请情况下
答:抓包可以获取url,请求方式,请求参数和相应值
2、 抓包还可以定位问题
答:我们可以查看此接口的参数和返回值。若参数传错,bug提个前端;若响应异常,没有调通后台接口;若有响应,响应值错误,bug提给后端
3、 查看接口的安全性
支付订单的时候,fiddler请求前断点,修改5000元为50元,造成数据串改,不安全。用户登录的时候,截取接口查看入参,可以看到具体的用户名、密码,不安全。所以通过fiddler或者F12可以查看接口安全性,做到把敏感数字**显示更安全。
2 了解的都有那些抓包工具?这些工具有那些优缺点?哪个更适合我们使用?
1、 Fiddler抓包工具,是客户端和服务端的http代理,客户端所有的请求都要先经过fiddler,到响应的服务端,然后端返回的所有数据也都要经过fiddler,Fiedler我们可以用来抓包,修改请求,响应参数,弱网测试等fiddler也是我们最常用的抓包工具之一
2、 Charles(花瓶)抓包工具也是比较常用的,和fiddler差不多,请求接口和返回数据的显示方式不一样,Charles是树状结构比较清晰,fiddler是按照时间倒叙排的
3、 Firebug抓包工具是浏览器firefox浏览器自带插件,支持很多种浏览器,直接按f12,和chrome与ie中自带的F12一样的,用起来比较方便
4、 Httpwatch抓包工具是强大的网页数据分析工具,安装简单,不需要设置代理和证书,但只能看不能修改,,集成在Internet Explorer工具栏
5、 Jmeter工具,jmeter也是可以进行抓包的,除了抓包,接口测试,性能测试也都不在话下,使用jmeter之前需要安装jdk的
使用
此次以Fiddle开始讲解
1 如何使用fiddle工具连接Chrome以及Android进行抓包操作
Android设置代理
1、进入fiddler–option–connections,勾选允许手机代理
2、进入手机WiFi,设置代理
现在就可以抓取手机端的http请求了,PS:如果不行就重启fiddler一下
抓HTTPS的包
1、查看本机ip
2、手机代理的WiFi网段必须和电脑属于同一个网段(ping 电脑端IP)
3、进入手机端浏览器输入http://192.168.XX.XX:8888(电脑IP),下载证书,然后点击打开安装好证书(每换一个WiFi都要重新下载安装证书)
4、打开fiddler配置option(该勾的都勾上)
5、打开app,就可以抓取到HTTPS的包了
Chrome设置代理
1、点击Tools>Options> HTTPS页面上的Actions,选第二个(Export root certificate to desktop),操作导出证书文件至桌面,会在桌面上生成一个文件FiddlerRoot.cer。
2、进入chrome浏览器,菜单栏,点设置,或直接地址栏输入:chrome://settings/。
点击左侧【隐私设置和安全性 】,在右侧找到【管理证书】,并点击进入。
按照提示导入上一步在桌面生成的证书。
证书导入才能获取https
设置代理
1、点击设置->高级->打开代理设置->局域网设置(进入代理设置页)
2、设置代理【输入代理地址:127.0.0.1 端口:8888(若设置了其他端口,输入自己在fiddle设置的端口号)】
Fiddle修改请求与响应参数
首先我们先加断点在fiddle中点击Rules --Automatic BreakPoints—Before Requests此时浏览器或app属于堵塞状态(处于一直加载中,因为被拦截了,请求发送不到服务器,一直在尝试发送)
1、修改Inspectors --WebForms/Raw的参数值
2、修改请求信息后,点击下图中的1 Break on Responese 发送请求,在服务器返回响应后等待
3、服务器返回信息后,点击上图中的2 Run to Completion 完成
4、在抓到请求中,选中一个请求—右键选择Replay–Reissue and Edit E
后续的操作和上一个一样
两种断点方法希望能帮到你们