抓包工具Fiddler的使用方法详解(Fiddler中文教程)
Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包) Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。 Fiddler官方网站提供了大量的帮助文档和视频教程,这是学习Fiddler的最好资料 Fiddler_官方网站 Fiddler抓包工作原理 Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器 它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。 不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。 Fiddler主界面 Fiddler的主界面分为 工具面板、会话面板、监控面板、状态面板 Fiddler的工具面板 说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助 Fiddler两种抓包模式 缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常 Fiddler的会话面板 Fiddler的会话面板图标 Fiddler的监控面板 Fiddler的统计报表 请求总数、请求包大小、响应包大小。 请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP、传输时间。 返回的各种类型数据的大小统计以及饼图展现。 Fiddler的时间轴 每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。 把多个请求以时间作为 X 轴,用图表的形式展现出来,就形成了瀑布图。在Fiddler中,只要在左侧选中一些请求,右侧选择Timeline标签,就可以看到这些请求的瀑布图 绿色的请求表示这是一个“有条件的请求”。 HTTP 协议定义了 5 个条件请求头部,最常见的两个是“If-Modified-Since”和“If-None-Match”。 服务器根据这两个头部来验证本地缓存是否过期,如果过期则正常返回资源的最新版本; 否则仅返回 304 Not Modified,浏览器继续使用本地缓存。包含条件请求头部的请求用绿色显示,否则用黑色。 有阴影线的请求是缓冲模式下的请求,实心的是流模式下的请求。 Fiddler 提供了缓冲(Buffering)和流(Streaming)两种抓包模式 缓冲模式下,Fiddler 会在响应完成时才将数据返回给应用程序(通常是浏览器),这种模式下可以控制响应,方便地修改响应内容; 流模式下,Fiddler 会实时返回响应数据给浏览器,但没办法控制响应。一般使用流模式,瀑布图会更真实一些。 这两种模式可以通过 Fiddler 的工具栏选择。特别的,通过 Fiddler 的“AutoResponder”功能返回的响应,只能是缓冲模式。 请求条的不同颜色对应着不同类型的响应,根据响应头的 MIME Type 来归类。 如浅绿色表示图片类型的响应;深绿色是 JavaScript;紫色是 CSS;其它都是蓝色。 请求中的黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻。这个时间受 DNS 解析、建立连接、发送请求、等待服务端响应等步骤的影响。 请求条后面的图标表示响应的某些特征。如软盘图标表示这个响应正文从本地获得,也就是说服务端返回了 304; 闪电表示这是 Fiddler 的“AutoResponder”的响应; 向下的箭头表示响应是 302,需要重定向; 红色感叹号说明这个请求有错误发生(状态码是 4XX 或 5XX)。 特别的,如果请求条后面有一个红色的X,说明服务端响应完这个请求之后,断开了连接。 出现这种情况一般有两种可能: HTTP/1.0 的响应中没有 Connection: Keep-Alive; 或者是 HTTP/1.1 的响应中包含了 Connection: close。 使用持久连接可以省去建立连接的开销,也可以减小 TCP 慢启动和其它拥塞控制机制带来的影响,总之是好处多多。 请求前面的红色圆圈表示这个连接是新建的,绿色表示是复用的。 上面的圆圈表示的是浏览器到 Fiddler 的连接,下面的圆圈是 Fiddler 到服务端的连接。 Fiddler的状态面板 控制台Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。 Fiddler常用命令有: 命令 解释 help 打开官方的使用页面介绍,所有的命令都会列出来 cls 清屏 (Ctrl+x 也可以清屏) select 选择会话的命令 ?.png 用来选择png后缀的图片 bpu 截获request bpafter 截获response Request消息的结构 Response消息的结构 Fiddler的常用功能 Fiddler监听HTTPS (编辑:ASP站长网) |