抓包工具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,勾选允许手机代理

python怎么调用易语言的ec模块 易语言调用fiddler_抓包


2、进入手机WiFi,设置代理

python怎么调用易语言的ec模块 易语言调用fiddler_软件测试_02


现在就可以抓取手机端的http请求了,PS:如果不行就重启fiddler一下

抓HTTPS的包

1、查看本机ip

2、手机代理的WiFi网段必须和电脑属于同一个网段(ping 电脑端IP)

3、进入手机端浏览器输入http://192.168.XX.XX:8888(电脑IP),下载证书,然后点击打开安装好证书(每换一个WiFi都要重新下载安装证书)

4、打开fiddler配置option(该勾的都勾上)

python怎么调用易语言的ec模块 易语言调用fiddler_抓包_03


5、打开app,就可以抓取到HTTPS的包了

python怎么调用易语言的ec模块 易语言调用fiddler_软件测试_04

Chrome设置代理

1、点击Tools>Options> HTTPS页面上的Actions,选第二个(Export root certificate to desktop),操作导出证书文件至桌面,会在桌面上生成一个文件FiddlerRoot.cer。

python怎么调用易语言的ec模块 易语言调用fiddler_抓包_05


2、进入chrome浏览器,菜单栏,点设置,或直接地址栏输入:chrome://settings/。

点击左侧【隐私设置和安全性 】,在右侧找到【管理证书】,并点击进入。

python怎么调用易语言的ec模块 易语言调用fiddler_fiddler_06


python怎么调用易语言的ec模块 易语言调用fiddler_python怎么调用易语言的ec模块_07


按照提示导入上一步在桌面生成的证书。

证书导入才能获取https

设置代理

1、点击设置->高级->打开代理设置->局域网设置(进入代理设置页)

python怎么调用易语言的ec模块 易语言调用fiddler_fiddler_08


python怎么调用易语言的ec模块 易语言调用fiddler_python怎么调用易语言的ec模块_09


python怎么调用易语言的ec模块 易语言调用fiddler_python怎么调用易语言的ec模块_10


python怎么调用易语言的ec模块 易语言调用fiddler_软件测试_11


2、设置代理【输入代理地址:127.0.0.1 端口:8888(若设置了其他端口,输入自己在fiddle设置的端口号)】

python怎么调用易语言的ec模块 易语言调用fiddler_python怎么调用易语言的ec模块_12


python怎么调用易语言的ec模块 易语言调用fiddler_软件测试_13


Fiddle修改请求与响应参数

首先我们先加断点在fiddle中点击Rules --Automatic BreakPoints—Before Requests此时浏览器或app属于堵塞状态(处于一直加载中,因为被拦截了,请求发送不到服务器,一直在尝试发送)

1、修改Inspectors --WebForms/Raw的参数值

python怎么调用易语言的ec模块 易语言调用fiddler_抓包_14

2、修改请求信息后,点击下图中的1 Break on Responese 发送请求,在服务器返回响应后等待

python怎么调用易语言的ec模块 易语言调用fiddler_fiddler_15

3、服务器返回信息后,点击上图中的2 Run to Completion 完成

4、在抓到请求中,选中一个请求—右键选择Replay–Reissue and Edit E
后续的操作和上一个一样

两种断点方法希望能帮到你们