当前位置:首页 > 安卓软件 > 金融理财 > 正文
fiddler,fiddler手机抓包 金融理财

fiddler,fiddler手机抓包

11个月前 (07-22) 类别:金融理财

  • 发布日期:2025-06-21 17:31:05
  • 所属类别:金融理财
  • 下载人数:7929
  • 版本:
  • 大小:

立即下载

扫二维码手机浏览

fiddler,fiddler手机抓包介绍

其实fiddler的问题并不复杂,但是又很多的朋友都不太了解fiddler手机抓包,因此呢,今天小编就来为大家分享fiddler的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

Fiddler抓包入门

抓包使用场景:

fiddler,fiddler手机抓包

1、用手机APP或浏览器访问一个页面,查看请求的结果是否正确,请求的参数是否正确

2、在不修改任何环境的情况下,修改返回的结果,即通常所说的mock

3、复杂场景:

fiddler,fiddler手机抓包

比如,同一个域名下的请求,/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用法差不多。

参考文档:

版权说明:如非注明,本站文章均为 皮努努下载 原创,转载请注明出处和附带本文链接;

本文地址:https://www.pinunu.com/money/fiddlerfiddlers.html