fiddler抓包简单应用

工作中用fiddler时候有限,只是抓抓接口,打个断点,修改请求参数或者返回值。本来觉得没什么可写,但是问的人多了,还是直接写一篇出来,省的每次都教一遍了。

使用方法很简单,直接打开fiddler,然后对浏览器操作就能抓到一些包了。但是,有意外情况,可能会发现网页打不开了,比如百度:

因为涉及到https协议,所以得设置一下fiddler和浏览器(即使设置以后也打不开百度,我这已经是设置后的了,别的网址一般应该都能正常打开)。设置以后就不用再往回改了,一直这么放着不会产生任何影响(没发现有什么影响)。

先设置fiddler:点击Tools-->Fiddler Options,HTTPS里面复选框都勾上

下面我框起来的是导出个证书到桌面,我记得还有别处也能导出证书来着,一时没找到。点击导出证书,看桌面很容易找到证书。

然后设置浏览器,以谷歌浏览器为例:打开设置,高级里面有个管理证书,点击,弹出窗口在个人那里直接点导入就可以,导入桌面这个证书。然后再打开https协议的网页就能打开了。

设置抓手机包:fiddler还是设置那里,点击Connections,8888那个不用管,默认的,可以修改。Allow remote那个我记得开始时候是没勾选的,勾选上。

查看电脑IP,cmd下输入ipconfig

再设置手机:手机和电脑在同一网络下,打开WLAN设置,找到连接的网络

我这手机点最右边三角就进入网络详情里了。然后设置代理那里,无改为自动,下面主机名输入电脑IP,端口就是在fiddler那里看到的8888,设置完一定要点确定。然后手机打开浏览器,我这情况就是在浏览器里输入:http://192.168.1.4:8888,会打开一个网页,我记得一共就两个链接,其中一个能下载证书,点击自动下载一个证书,然后手机安装这个证书。这样也能抓手机端https协议的包了。抓完一定要把手机的代理重新设置为无,否则fiddler一关闭,手机就上不了网了。fiddler就不用再改回去了,没影响。

上面都是准备工作,然后简单抓个接口看看,网址还是用中国联航的官网(www.flycua.com)了,对这最熟。手机端直接操作手机即可。

抓之前可以先清空fiddler里面自己抓的东西,免得太乱不好找自己想抓的接口。

叉子里面有个Remove all选项,清空所有数据,下面那个红色箭头是打断点,本来那位置是空的,点一下出个向上的箭头,意思是拦截发往服务器的请求;再点一下变成向下的箭头,意思是拦截服务往回返的信息;再点一下,箭头消失,都不拦截,包还是正常抓。

首先一个登陆,我随便输个账号,密码,打个拦截服务器返回的断点:

右面上面那部分是发往服务器的参数,上面那一排第一个是请求头的意思,参数和值也可能是在webforms里看,或者我画的这里,raw里也能看。

下面这里是服务器返回的信息,这里信息可以略作修改,比如errorcode后面那串数字,是会员账号不存在的意思。如果改成0000,就是登录成功的状态码,然后点击那个绿色按钮,run to completion,浏览器就会接收到一个登录成功的命令,当然左边下面还会出现很多被拦截的请求,需要逐条通过一下,但是不能全部一下通过,因为全部通过某些接口会让服务器发现出异常情况了,就自动又退回到登录页面。当然即使进入登录成功页面,这种情况里面也没什么东西。

先把断点关闭,然后会员中心有个修改密码的功能,再看看修改密码这,打个拦截去往服务器的断点:

这是我输入旧密码和新密码点击提交时候拦截的请求,右边上面那部分能看到旧密码和新密码,当然都是我随便输的。在这里可以修改新密码,比如密码规则不能有特殊符号,我把新密码改成带特殊符号的,然后点绿色按钮提交。这就绕过页面验证,直接通过接口发送请求了,看看接口能不能拦截异常请求。

基本就是这些,如果要想做接口测试,我觉得还是直接用jmeter或者badboy录脚本吧,fiddler可能有些接口还是抓不出来,而且接口太乱,fiddler抓出来还得再往postman或者jmeter整理,很是耗神费力。jmeter录脚本点这里

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章