| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> fiddler的使用 -> 正文阅读 |
|
[网络协议]fiddler的使用 |
Fiddler的工作原理Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。 当Fiddler退出的时候它会自动注销, 这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。 解决的办法是重新启动下Fiddler。 fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求,会先经过fiddler,然后在到服务器;当服务器有返回数据给浏览器显示时,也会先经过fiddler,然后数据才到浏览器中显示,这样一个过程,fiddler就抓取到了请求和响应的整个过程。 正常退出方式有两种: 1. 2.在左下角命令行输入: 面板对应内容:抓包工具面板功能 # :HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。 Result : HTTP响应的状态 Protocol:请求使用的协议(如HTTP/HTTPS) HOST:请求地址的域名/ip URL:请求的服务器路径和文件名,也包含GET参数 BODY:请求的大小,以byte为单位 Content-Type:请求响应的类型 Caching:请求的缓存过期时间或缓存控制header的值 Process:发出此请求的Windows进程及进程ID Comments :用户通过脚本或者菜单给此session增加的备注 custom:用户可以通过脚本设置的自定义值 2.右侧面板1.Statistics统计页签 通过该页签, 用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求, 可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多, 从而对页面的访问进行访问速度优化 2.inspectors检查页签 它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示 3.AutoResponse自动响应页签 Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据, 例如让返回都是HTTP404或者读取本地文件作为返回内容。 可设置打开某网页显示自己想要的内容,比如抓取一个链接,点击add rule ? 这个时候访问网址,返回值就是一个图片 4.composer构建页签 支持手动构建和发送HTTP, HTTPS和FTP请求, 我们还可以从web session列表中拖曳session, 把它放到composer选项卡中, 当我们点击Execute按钮, 把请求发送到服务器端。Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent): 这样设置发送的请求,就不是浏览器发出的了,而是fiddler发出的,查看inspectors里面的信息便可看出 断点请求/响应? 如图,箭头所指的位置时可以点击的。共三种状态: 还有一种打断点的方式 在命令行中输入命令:? bpu?www.baidu.com? (断点请求) bpuafter www.baidu.com(断点响应) 这种方法只会中断www.baidu.com 断点请求并修改如图,操作步骤:
图中Break On Response表示把请求发给服务器,但是服务器的响应被fiddler拦截,此时可以修改响应内容(和断点响应类似)。 断点响应并修改和断点请求操作类似,只是在响应区域修改报文信息即可。 ?5. Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。 打开fiddler,找到Filters选项并点击打开。如图所示 过滤功能具体使用①选择Filters页签,勾选use Filters勾选 Request Headers 中的 Hide if url contains 过滤项 ②在里面输入:REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav)(\?.*)?$ REGEX: 表示启用正则表达式(?insx) 设置正则解释的规则,忽略大小写等。 此表达式表示过滤掉 url 中包括 css、ico、jpg 等后缀的请求 ③勾选 Request Headers中的show only if URL contains,在里面输入 REGEX:(?insx).*\.?http://baidu.com/home.* 只显示:?http://baidu.com/Home Fiddler过滤指定域名 第二个选项是只监控以下网址,如只监控百度,在下面的输入框里填上http://www.baidu.com “No Host Filter”不设置hosts过滤 “Hide The Following Hosts”隐藏过滤到的域名 “Show Only The Following Hosts”只显示过滤到的域名 “Flag The Following Hosts”标记过滤到的域名 Timeline时间轴页签 时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。 每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。 在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间 ? ?举例: 一般常用的有三种过滤条件: 1.域名过滤,只显示特定域名的记录: *.baidu.com表示所有的百度二级域名会话;*baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actions生效; 2.类型过滤,一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉 ?.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)? 需要过滤多少自己直接加入就好了 3.根据返回状态码,比如只想显示200的状态,其他的不显示 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 11:58:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |