-
金融理财
-
fiddler,fiddler手机抓包
11个月前 (07-22) 类别:金融理财
- 发布日期:2025-06-21 17:31:05
- 所属类别:金融理财
- 下载人数:7929
- 版本:
- 大小:
-
扫二维码手机浏览
fiddler,fiddler手机抓包介绍
其实fiddler的问题并不复杂,但是又很多的朋友都不太了解fiddler手机抓包,因此呢,今天小编就来为大家分享fiddler的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Fiddler抓包入门
抓包使用场景:
1、用手机APP或浏览器访问一个页面,查看请求的结果是否正确,请求的参数是否正确
2、在不修改任何环境的情况下,修改返回的结果,即通常所说的mock
3、复杂场景:
比如,同一个域名下的请求,/img/xxx的资源发送到ServerA上,请求/api/xxx资源发送到ServerB上
我们使用浏览器或者客户端软件都要与外界进行通信,就必然会有数据的发送和接收,有时候需要对这些传递的数据进行分析,因此需要截获这些传递的数据。
其中对这些数据进行截获、重发、编辑、转存的过程叫做抓包。
本地应用与服务器之间所有的Request和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。
由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络数据的抓包,可以详细地对HTTP请求进行分析,并模拟对应的HTTP请求。
1、本地化的工具,是一个使用本地 127.0.0.1:8888的 HTTP代理
(免费的web调试代理工具,支持任何浏览器、系统或平台)
启动Fiddler后,通过浏览器访问:
(1)任何能够设置 HTTP代理为 127.0.0.1:8888的浏览器和应用程序都可以使用 Fiddler
(2)工具打开后,就自动设置了IE浏览器的代理,工具关闭后,IE的设置也将被还原
2、Fiddler本身对http协议支持较好,且操作简单容易上手
3、具有抓包和分析功能,省去了安装其他工具的必要
4、工具本身功能强大
(1)劫包:模拟接口不给前端返回数据,看前端怎么处理,如果没有工具,就只能采用断网、停用服务器
(2)篡改数据:假设没法去模拟前端对于接口返回数据很长时,怎么去展示,换行?截取?小屏幕上页面扭曲?如果通过篡改数据,就能直观的把数据返回给前端展示,很明显的看到前端数据是什么样的,就不需要从底层改数据
(3)模拟低速、弱网环境等,有些元素加载不出来会导致样式问题
网络爬虫是自动爬取网页的程序,在爬取的过程中必然会涉及客户端与服务端之间的通信,也需要发送一些HTTP请求,并接受服务器返回的结果。
有些网址变化肉眼是看不出规律的,这时配合抓包软件会变得较容易。
案例:网页底部“阅读更多”
在浏览一些图片网站时,浏览到最下面的时候会出现一个“阅读更多”的字样,此时单击“阅读更多”页面上显示更多内容,加载出来的内容跟原来的内容是在同一个网页上展示的。我们直接看网址的变化是看不出任何规律的,便无法分析该请求是如何实现的,无法通过程序构造出该请求。
此时可以通过Fiddler进行抓包,对这些数据进行分析,查看request headers发现是通过Get请求来实现的,总共有3个参数:order_by、page、per_page
通过分析就可以知道页面上只显示20篇文章,之后就需要通过阅读更多进行加载
每点击一次阅读更多,相当于在修改page值
知道实现规律后,就可以通过编写程序构造出对应的请求,并由程序自动地实现这些请求的发送。
假如修改page为3、4、5,在新窗口进行访问,与页面阅读更多进行比对
Fiddler默认是抓 http请求的,对于pc上的 https请求,会提示网页不安全,这时候需要在浏览器上安装证书
Fiddler可以通过伪造CA证书来欺骗浏览器和服务器,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。
1、检查Fiddler设置
2、导出证书
3、导入到Firefox浏览器
测试下结果,打开百度网页,成功了,接下来就可以进行抓包了
1、cls(或 clear)清屏命令
清空会话列表中的所有会话
2、select筛选某一类型的会话命令
如 select html,输入命令后敲回车键,在会话列表中所有html类型的会话都已被选中
3、?查找网址中包含某些字符的会话信息
如?jianshu可以查找出网址中包含“jianshu”字符串的会话信息,跟其他会话信息用不同颜**分显示
4、help帮助命令
打开官方的使用页面介绍,所有的命令都会列出来
5、bpu、bpafter断点命令
6、dump快速保存
以铁路网的货物跟踪为例
页面有车号、货票号、验证码三个字段,通过输入不同格式的值来观察页面提示与 Fiddler抓包返回的 json值
1、先输入格式正确的值,点查询
2、修改货票号的位数,点查询
1、两次抓包的接口是一样吗?第一个是post,第二个是get,不是同一个
2、第二个请求没有发出去,应该是前端直接对数值的位数做了校验的,这个时候就不会调接口,所以就没有数据显示了
如想更深入的使用Fiddler,请查看进阶篇
怎样使用 fiddler抓取网络数据包
今天我们使用的工具是一个非常著名的抓包工具,百度搜索一下即可找到(或者关注/私信我,查看共享,一般我在百度经验中使用到的软件类工具,都可以在共享网盘中找到),因此这里不演示下载,相信您能很容易得到它的.
下载/安装并运行它,界面如下:
一般地,我们常用的功能是:
1.开始/暂停抓包,方法是,点击"File"->"Capture Traffic",或者直接按快捷键F12;
2.保存已经抓取到的数据包,方便以后再导入分析,点击"File"->"Save"然后选择相应的选项,保存即可,如图;
3.抓取指定进程的数据包,如果目标进程是有窗口的话,那么可以直接使用工具栏上的靶形图标(显示"Any Process"的那个,第一幅图中有标示出),拖放到目标窗口即可,如果目标进程不是窗口程序,那么可以使用过滤器进行过滤,如图:
抓取到需要的数据包后,可以在列表中单击指定条目进行详细分析,如图:
选择一个条目之后,右侧的两个主区域就是我们需要分析的主体,上部分是请求的数据,下半部分则是响应的数据,如图,下面的图就是笔者在写本篇经验过程中的数据:
其中,请求区中的"raw"(原始数据)是最常用也是最详细的,一般我们要抓包模拟都是从这里**数据,然后修改的,其它的项是分析请求中的某一种数据;
从下图中我们可以看到,这次请求的方式是"POST"提交地址是:
(实际上就是写经验时的自动保存草稿)
还有HOST,referer,数据类型,cookies等,最下面的一行是本次请求所提交的数据,可以看到它是经过UTF8编码的
那么怎么查看呢?别急,很简单,fiddler已经帮我们准备好了工具.
先**需要解码的内容,然后点击工具栏上的"TextWizard",打开编码/解码器
或者
选中需要解码的内容然后右键,可以直接发送到解码器中分析,如图:
在打开的编码/解码器窗口中,选择"URLDecode",即可看到解码出来的结果,如图:
然后我们再看一下本次请求的响应结果,如图,从响应中可以看出,响应的状态码为 200 OK,请求是成功的,看响应的内容是一个JSON,所以可以点击上面的"JSON"查看:
本次介绍的只是fiddler最常用的几个功能,如果您喜欢的话
Fiddler抓包基本使用
Fiddler_官方网站
Fiddler_官方文档
Fiddler_官方视频
Fiddler_官方插件
1、Filddler简介
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
2、Filddler工作原理
Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1,端口:8888.当Fiddler开启会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
4、界面介绍
4.1 Fiddler主界面
4.2工具面板
工具栏说明:说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助。
两种模式:
1、缓冲模式(Buffering Mode): Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
2、流模式(Streaming Mode): Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确。但是不能控制响应。
4.3会话面板
4.4监控面板
统计报表
(1)请求总数、请求包大小、响应包大小;
(2)请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP传输时间;
(3) HTTP状态码统计;
(4)返回的各种类型数据的大小统计以及饼图展现。
时间轴
每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X轴,用图表的形式展现出来,就形成了瀑布图。在Fiddler中,只要在左侧选中一些请求,右侧选择Timeline标签,就可以看到这些请求的瀑布图
1)绿色的请求表示这是一个“有条件的请求”。HTTP协议定义了 5个条件请求头部,最常见的两个是“If-Modified-Since”和“If-None-Match”。服务器根据这两个头部来验证本地缓存是否过期,如果过期则正常返回资源的最新版本;否则仅返回 304 Not Modified,浏览器继续使用本地缓存。包含条件请求头部的请求用绿色显示,否则用黑色。
2)有阴影线的请求是缓冲模式下的请求,实心的是流模式下的请求。Fiddler提供了缓冲(Buffering)和流(Streaming)两种抓包模式:缓冲模式下,Fiddler会在响应完成时才将数据返回给应用程序(通常是浏览器),这种模式下可以控制响应,方便地修改响应内容;流模式下,Fiddler会实时返回响应数据给浏览器,但没办法控制响应。一般使用流模式,瀑布图会更真实一些。这两种模式可以通过 Fiddler的工具栏选择。特别的,通过 Fiddler的“AutoResponder”功能返回的响应,只能是缓冲模式。
3)请求条的不同颜色对应着不同类型的响应,根据响应头的 MIME Type来归类。如浅绿色表示图片类型的响应;深绿色是 JavaScript;紫色是 CSS;其它都是蓝色。
4)请求中的黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻。这个时间受 DNS解析、建立连接、发送请求、等待服务端响应等步骤的影响。
5)请求条后面的图标表示响应的某些特征。如软盘图标表示这个响应正文从本地获得,也就是说服务端返回了 304;闪电表示这是 Fiddler的“AutoResponder”的响应;向下的箭头表示响应是 302,需要重定向;红色感叹号说明这个请求有错误发生(状态码是 4XX或 5XX)。特别的,如果请求条后面有一个红色的X,说明服务端响应完这个请求之后,断开了连接。出现这种情况一般有两种可能:HTTP/1.0的响应中没有 Connection: Keep-Alive;或者是 HTTP/1.1的响应中包含了 Connection: close。使用持久连接可以省去建立连接的开销,也可以减小 TCP慢启动和其它拥塞控制机制带来的影响,总之是好处多多。
6)请求前面的红色圆圈表示这个连接是新建的,绿色表示是复用的。上面的圆圈表示的是浏览器到 Fiddler的连接,下面的圆圈是 Fiddler到服务端的连接。
4.5状态面板
控制台
Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
help打开官方的使用页面介绍,所有的命令都会列出来
cls清屏(Ctrl+x也可以清屏)
select选择会话的命令
?.png用来选择png后缀的图片
bpu截获request
bpafter截获response
5、HTTP协议简介
5.1、HTTP消息的结构
5.1.1、Request
先看Request消息的结构, Request消息分为3部分,第一部分叫Request line,第二部分叫Request header,第三部分是body. header和body之间有个空行。第一行中的Method表示请求方法,比如"POST","GET", Path-to-resoure表示请求的资源, Http/version-number表示HTTP协议的版本号,当使用的是"GET"方法的时候, body是为空的。
5.1.2、Response
5.2状态码
Response消息中的第一行叫做状态行,由HTTP协议版本号,状态码,状态消息三部分组成。
状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.
HTTP/1.1中定义了5类状态码,状态码由三位数字组成,第一个数字定义了响应的类别
1XX——提示信息,表示请求已被成功接收,继续处理
2XX——成功,表示请求已被成功接收,理解,接受
3XX——重定向,要完成请求必须进行更进一步的处理
4XX——客户端错误,请求有语法错误或请求无法实现
5XX——服务器端错误,服务器未能实现合法的请求
常见响应码说明:
200:响应成功,这表明该请求被成功地完成,所请求的资源发送回客户端
302:重定向,新的URL会在response中的Location中返回,浏览器将会自动使用新的URL发出新的Request
304:代表上次的文档已经被缓存了,还可以继续使用,例如打开博客园首页,发现很多Response的status code都是304
[提示:如果你不想使用本地缓存可以用Ctrl+F5强制刷新页面]
400:客户端请求与语法错误,不能被服务器所理解
403:服务器收到请求,但是拒绝提供服务
404:找不到网页,请求的资源不存在
500:服务器发生了不可预期的错误
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
6、常用功能
6.1监听HTTPS
6.3模拟各类场景
通过GZIP压缩,测试性能
模拟Agent测试,查看服务端是否对不同客户端定制响应
模拟慢速网络,测试页面的容错性
禁用缓存,方便调试一些静态文件或测试服务端响应情况
6.4 Compare(对比文本)
Fiddler中设置断点修改Response跟断点修改Request用法差不多。
参考文档:
版权说明:如非注明,本站文章均为 皮努努下载 原创,转载请注明出处和附带本文链接;
相关推荐
相关资讯
- 排行榜
- 1
自罚隐私越疼的方法 自罚最痛的方法但不会让自己受伤
类别:智能硬件
- 2
[长弓燧龙]芭芭拉(原神) 长弓燧龙 芭芭拉 star!dus
类别:智能硬件
- 3
王者荣耀女生去掉所有服装(王者荣耀如何女生皮肤去掉小内皮肤)
类别:商务办公
- 4
女生去掉所有服装小内()
类别:图像拍照
- 5
原神女角色去掉所有服装(大欧派晃来晃去的八重神子)
类别:影音播放
- 6
xp密钥,windowsxp专业版产品密钥
类别:主题美化
- 7
原神胡桃被空C出液体()
类别:交通出行
- 8
100款禁止安装的软件,手机里千万不能装的软件有哪些
类别:学习教育
- 9
海底总动员国语下载 1080P?海底总动员2下载
类别:生活实用
- 游戏资讯