Fiddler使用二:抓包问题和解决方法

公号:软测小生(ruancexiaosheng)
上一篇:Fiddler使用:菜单功能/Host配置/请求伪造接口调试

背景介绍

移动测试的同学在日常工作中需要频繁用到抓包、mock数据、限速等测试手段,而Fiddler作为一款强大的辅助工具,深受测试同学的青睐。虽然它有很强大的功能,可是使用的时候也会遇到一些问题,今天想给大家分享一些我在实际业务中遇到的问题和解决办法。

https请求显示“Tunnelto 443”

和IPhone手机的坑

高高兴兴设好了代理,开始抓包,抓到的全是灰色的“Tunnelto 443”,什么鬼?

image

原来是因为请求使用的是https协议,需要再单独设置一下:

Fiddler设置

打开Fiddler菜单项Tools->Options->HTTPS,勾选CaptureHTTPS CONNECTs,勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任Fiddler证书和安全提示,直接点击yes就行)。

image

手机设置

如果想要抓到https的请求,手机端还需要下载一个证书。

手机打开浏览器输入电脑的ip:端口号(注意冒号是英文的),点击前往,如下图:

image

打开Fiddler证书界面,点击FiddlerRootcertificate下载证书,提示安装,随便取个名字将证书安装到手机。Ps:安装后会要求设置一个手机的锁屏密码,可以在系统设置里更改的。

image

最后,重启Fiddler,再次抓包就可以抓到https的请求啦~~

IPhone手机的坑

在使用iPhone抓包时,我按照上述步骤下载安装了证书,依然抓不到https的请求。重试了好几次,使用了重启大法依然不奏效。

后来终于找到了原因,IPhone上的证书虽然安装了,但是并不是默认就被信任的,有可能信任开关没有开,所以需要手动开一下。路径如下:手机设置->通用->关于本机->证书信任设置,开启Fiddler证书的信任,之后重启Fiddler就可以抓取到了!

image

使用Fiddler做抓包分析

image

首先,Fiddler左侧为请求列表,上方的字段值支持点击排序的功能,可以方便的查看请求的过程或者筛选出想要的信息。

image
image

选中一条或多条请求,右键单击,弹出的菜单里可以将选中的请求保存为.saz的压缩包,发给其他人后直接使用Fiddler打开压缩包,可以简便的分享刚刚的请求步骤和内容,方便开发和测试沟通问题。

点击replay,则会将选中的请求重新发送,方便复现。

image

选中某条请求时,Fiddler右侧显示的是该条请求的详细信息,上方是请求信息,下方是响应信息,并提供了多种查看详细内容的格式。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合HTTP标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息,等等。

mock返回数据(AutoResponder)

工作中经常会遇到需要mock来辅助测试的情况,Fiddler在mock测试中使用很方便。

image

选中需要mock的请求,点击右侧的autoresponder,点击add rule,该条请求被加入进来。并且可以在下方修改匹配的规则:

  • 字符匹配

如 example可以匹配 http://www.example.comhttp://example.com.cn

  • 完全匹配

以EXACT开头表示完全匹配,如上边的例子

EXACT: http://material.mediav.com/galileo/mobile/44188236.mp4

  • 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*.(css|js|php)$ 表示匹配所有以css,js,php结尾的请求url

需要mock的时候勾选上方的三个勾选框和需要mock的请求链接,不需要mock的时候将链接前面的勾去掉即可。

image

选择需要mock的结果点击save。即可成功拦截该请求,返回你想要的结果。

工作中需要的重定向方式Fiddler基本都能满足。包含各种404、502等网络状态。支持将该条请求delay,并且可以修改delay的时间(毫秒)。Find a file则可以将请求指向本地文件,可以是json等脚本文件,也可以是MP4、JPG、jar等文件,具体看工作中需要mock的请求类型。

Mock之后发起的请求,可以在response中查看是否mock成功。如果mock没有成功,请检查手机代理是否设置生效?匹配规则是否填写正确?勾选框是否已勾选?

打断点

测试中有时需要改变发出去的请求信息,那就需要用到打断点的方法。断点包含两种方式:

  • before response:这个是打在request请求的时候,未到达服务器之前,一般用来修改请求参数

  • after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。我个人用的很少,一般通过mock方法来辅助测试,不向服务器发起真正的请求。

下面介绍两种常用的打断点方式:

设置全局断点

全局断点就是中断Fiddler捕获的所有请求,点击rules-> automatic breakpoint ->before requests。设置之后,会发现所有的请求都无法发出去了,出现了T的符号,这时候点下Go按钮,就能走下一步了。

选中需要修改的请求,右侧打开WebForms,里面的参数都可以修改,修改之后点Run to Completion就能提交了,于是就成功修改了请求参数了。

打全局断点的话,是无法正常上网的,需要清除断点:rules-> automatic breakpoint ->disabled

image

设置单个断点

只针对某条请求打断点,在命令行中输入指令就可以了。

  • before response:在命令行里输入bpu 请求地址(回车)。例如:bpu https://m.taobao.com/回车。接下来就只会拦截该请求接口,在右侧可以修改请求的内容。取消该断点的话,在命令行输入bpu回车即可。

  • after response:命令行里输入bpafter 请求地址(回车),取消时输入bpafter回车即可。

    image

以上就是我在测试移动端APP时使用Fiddler进行抓包的常用方法和遇到的问题,Fiddler很强大,支持很多的功能和场景,需要我们进一步去学习和发掘。

往期推荐:
玩转Linux命令 tail命令详解
自动化测试之Windows计划定时任务命令schtasks及语法
自动化测试解决验证码问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349