Fiddler工具面试题
断点问题:
1.什么叫断点?Break Point:进行接口测试时,为了测试后端功能而设置的。
2.断点有哪些方式?Before Requests:在请求时,没有达到服务器之前设置断点。 -- 全局断点(中断fiddler捕获的所有请求)
After responses:服务器响应之后,在fiddler将响应传回给客户端之前。 -- 全局断点(中断fiddler捕获的所有服务器返回数据)
取消断点:Disabled
3.为什么要设置断点?进行接口测试时,拦截和修改数据,测后端功能。
比如:图书网的某本小说的售价是100元,进行网页前端的功能测试时,只能输入100元进行购买!但是通过fiddler抓包工具可以拦截,修改数据。万一有些别有用心的人跳过前端输入框验证,然后修改数据,输入-100元进行购买。这样的话,不仅买到了小说,账户余额还增加了100元。这就说明后端接口不对。
4.怎么设置断点?(全局断点和单个断点)Rules>>Automatic Breakpoints>>Before Requests(After Responses) -- 全局断点
- 在命令行输入:(单个断点)
- bpu 接口的url地址 eg:bpu https://passport.cnblogs.com/user/signin 然后按回车 -- before request
- bafter 接口的url地址 eg:bpafter https://passport.cnblogs.com/user/signin 然后按回车 -- after response
5.拦截来自某个网址所有请求
1.在命令行输入:bpu www.cnblogs.com
2.打开博客园任意网页,发现都被拦截到了
3.打开博客园其他网站,其它网站可以正常请求
4.说明只拦截了来自部落论坛(www.cnblogs.com)的请求
5.清除输入bpu回车即可
在Fiddler中【rules右键点击 Customize Rules(自定义规则) ,然后双击打开 Customize Rules.js文档,修改文档中每上传或者是下载1kb数据所需要的时间来模拟我们的弱网环境】,然后再rules–performance(性能)下面点击simulate modem speeds(模拟调制解调器速度)开启弱网环境的模拟 ,通过以上三步,就可以实现弱网测试场景的构造。
【fiddler script中也可以设置】if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300"; (请求延迟时间)
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150"; (响应延迟时间)
}
Fiddler 怎样修改请求参数
方法1.直接在composer中修改,点击【execute】重新请求就可以了
方法2.用断点修改,fiddler下面有一个设置断点的按钮,箭头向上请求前断点,箭头向下响应断点。
设置断点后,可以在webform中修改参数了,然后点击按钮【run to conection】就可以重新发送了。
MQTT是什么东西?
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
Fiddler如何定位前后端bug?
1.如果Fiddler在没有设置任何过滤的情况下面,没有抓到任何的请求消息,那么大概率就是前端的bug,或者是一些很明显的js错误也是前端的bug;
2.如果抓取到的请求返回的结果错误,我们要确认一下,是否是前端传输的数据是错的,是的话就是前端的bug,如果确定传值正确的话;那就是后端的bug;
3.如果抓取到的请求返回的状态码是500,说明是后端出了错误,是后端的bug;
4.如果Fiddler抓取到的请求返回的http响应状态码是404的话,有可能是服务器上根本就没有这个请求地址,也有可能是前端在js提交的时候,提交错了这个错误地址。
Fiddler抓不到请求的原因?
1.抓不到app请求,可能是代理或端口设置不对
2.fiddler配置问题导致:
a.fiddler设置了域名过滤,所以抓不到其他域名的请求
b.fiddler关闭了代理功能,所以抓不到请求(开关在左下角)【capuring】
c.fiddler设置了process,只能抓到某个浏览器的请求
3.ios抓不到包也可能是证书过期了,需要重新安装。
网络爬虫是干什么的?
爬虫就是运用这种爬虫的技术来去互联网上获取我们一些我们想要的信息,比如我是一个做生意的,我想要去了解一下我的同行们都在卖什么货,什么货卖得比较好,那么如果只有十个八个的一些同行,那么可能我可以手工或者是人力的分析过来,但如果有上百个、上千个、上万个,那么这个时候就肯定需要借助一些工具,一些技术手段来把他们抓取过来,拿到这些数据之后,我再做一些简单的分析,来看一下哪些货卖的比较好,他们的销量各自是什么样子的,这就是我们常说的爬虫技术的一个应用领域。
wireshark抓包工具的主要使用场景有哪些?
wireshark抓包工具它的主要目的是用来分析测试过程中间的网络问题,比如测试某个web页面时打不开,那么我们可以通过wireshark来分析一下是客户端的问题还是服务端的问题,同时我们也可以来分析一下是哪个连接阶段出现的问题。
拿http协议我们来举例,我们可以通过wireshark进行分析得出是在TCP 3次握手过程中间发生的错误还是在握手之后进行数据传输的时候发生的错误,是客户端主动断开的连接还是说被服务器给reset,我们都可以通过wireshark抓包分析得出。
用F12抓包后如何解析数据?
1.直接处理。当网页返回数据就是一些文本,就是我们想要的内容,不需要过滤处理,直接处理就可以
2.Json解析。如果网页返回的不是HTML数据是JSON数据,那么就需要用到JSON解析技术
3.正则表达式。如果返回的数据是符合正则表达式的数据,就可以用正则去做解析
4.其他解析方式。常用的有XPath、BeautifulSoup和PyQuery,这些都是爬虫常用的解析库。
抓包工具的区别?
1.Fiddler是免费开源的,但只能在windows下使用,mac和Linux是不支持的,解析是应用层
2.Charles支持windows、MacOS和Linux操作系统,但是它不免费,解析是应用层
3.Wireshark可以抓取所有协议的内容,非常适合协议的学习和网络问题的分析,但是Wireshark它需要你具备一定的网络知识,所以对于初学者来说不是很友好,wireshark解析是链路层,走的是网卡接口流量
4.F12最简单最轻量级,但是和其他的抓包工具还是存在一定的差距
5.TCPdump主要用于Linux命令的抓包工具,前提是你要会操作Linux系统
Fiddler 和F12的区别
相同点:均可对HTTP请求进行分析
不同点:
(1)F12只能对Web进行抓包,Fiddler既可以对Web应用进行抓包,也可以对客户端及App进行抓包;
(2)F12无法篡改请求数据,而Fiddler可以;
(3)F12可以在Console中输入部分指令,方便查看前端数据,可通过Application方便查看一些请求数据,尤其涉及到登录或邀请相关的知识;
(4)Fiddler可以模拟弱网测试,而F12不可以;
(5)Fiddler可以模拟重定向,而F12不可以;
(6)Fiddler可以模拟其他IP访问(如境外IP地址等),而F12不可以;
(7)Fiddler可以模拟简单的接口测试,而F12不可以;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义