当前位置: 首页 > news >正文

渗透学习笔记(十一)Burp Suite 总结

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

前言

前面我们学习了powershell的基础,其实我们在学习的时候,不可能一篇文章或者一个视频就可以把所有知识学到的,在了解到这个方面的知识后,多去查资料,最好的阅读官方文档,在使用中学习是最好的。这一章学习一个非常重要的工具 burp suite 这个是我们学习渗透测试必不可少的神器。在学习这个工具的时候,我们要先知道它能干什么,应用在哪些方面,我一直有一个理念就是,我们学习计算机知识的时候最怕的就是完全不知道有某个知识的存在,但是只要我们意识到这个知识的存在后,这个知识也就不难了,因为我们现在可以有很多的资料来帮助我们进行学习,只要愿意去学,掌握的东西也就越多。

Burp Suite 总结

一、简介

Burp Suite 是一款极为强大的、用于Web应用程序安全测试的集成平台,由PortSwigger Web Security开发,在渗透测试领域以及CTF(Capture The Flag)竞赛中占据着举足轻重的地位。它能够无缝对接Web应用测试的各个环节,从最初的信息收集,到深入的漏洞探测,再到最后的漏洞利用与验证,为安全从业者和爱好者提供一站式解决方案,支持跨平台使用,包括Windows、Linux、macOS 操作系统。

二、安装与配置

  • 下载:从PortSwigger官方网站https://portswigger.net/获取Burp Suite安装包,根据操作系统版本选择对应的安装文件。安装过程较为常规,遵循安装向导提示逐步操作即可完成安装。注意,BP分为社区版和专业版,另外还有企业版,其中社区版是免费的,在kali linux中也默认安装了,可以直接使用。

  • 证书配置(针对 HTTPS):由于Burp作为中间人代理拦截HTTPS流量,需在客户端浏览器安装Burp的CA证书。在Burp Suite中,通过“Proxy” -> “Options” -> “CA Certificate”导出证书,随后在浏览器(如Chrome、Firefox)的证书管理模块导入该证书,完成后才能顺利抓取和查看HTTPS请求与响应,避免浏览器因证书不信任抛出错误。也可以设置好代理后,访问http://burp下载证书
    在这里插入图片描述

  • 代理设置:开启Burp Proxy监听端口,默认是8080端口 。在浏览器网络设置里,将代理服务器设置为本地地址(127.0.0.1),端口为Burp监听的端口,如此一来,浏览器发出的HTTP/HTTPS请求都会流经Burp。
    在这里插入图片描述

三、核心工具深度剖析

Proxy(代理)

在这里插入图片描述

  • 界面布局:主要由“Intercept”、“HTTP history”、“WebSockets history”、“Options”等标签组成。“Intercept”是实时拦截HTTP/HTTPS请求与响应的关键区域,分为请求和响应两个面板,能直观看到数据包的原始状态;“HTTP history”记录所有流经代理的请求,以列表形式呈现,包含URL、请求方法、状态码、响应大小等详细信息。
  • 拦截规则定制:在“Options”标签下的“Intercept Rules”中,可基于域名、IP地址、端口号、请求方法、内容类型等众多元素定制拦截规则。例如,只想拦截特定域名下的POST请求,即可精准设置过滤条件,减少无关流量干扰,提升测试效率,尤其在面对复杂CTF场景,精准拦截特定赛题相关流量很关键。
  • 请求编辑实操:拦截数据包时,在“Intercept”标签下,有“Raw”“Params”“Headers”等不同编辑视图。“Raw”视图展示完整的请求原始文本,适合直接修改HTTP协议语法层面的内容;“Params”视图把请求参数分类呈现,便于更改查询字符串或表单数据;“Headers”视图则专注于请求头编辑,修改诸如User-Agent、Cookie等头信息,以此测试服务器对异常请求头的处理机制。
  • 响应篡改与观察:除了编辑请求,拦截的响应同样能修改。更改响应头、响应体内容后再放行,观察前端页面显示或后续交互流程的变化,用于检测前端渲染逻辑漏洞,比如XSS防护绕过测试。

Spider(爬虫)

在这里插入图片描述

  • 启动与范围设定:在“Target”工具标签下,输入目标URL,点击“Spider”选项卡中的“Start scan”即可开启爬虫。爬虫范围可精准设定,通过“Scope”选项,能定义目标域名、子域名、特定目录,防止爬虫越界访问非授权区域,既保障测试合法性,又避免资源浪费在无关内容上。
  • 智能遍历逻辑:它依据HTML标签中的超链接(标签)、表单提交(标签)、JavaScript脚本中的跳转逻辑等线索,自动递归遍历网站。遇到需要提交表单数据的页面,会尝试用空值、默认值填充表单字段发起请求,确保尽可能全面覆盖网站交互流程,不放过任何可能隐藏漏洞的“暗角”。
  • 实时状态反馈:在爬行过程中,“Spider”选项卡实时更新爬行进度、已访问页面数量、发现的新链接数量等信息。完成爬行后,所有结果汇总在“Target”的“Site map”里,不同图标代表不同类型资源,例如文档、目录、脚本、图片等,同时还标记资源是否成功访问,方便快速定位未探索区域。

Scanner(扫描器)

在这里插入图片描述

  • 扫描引擎原理:内置先进的漏洞检测引擎,采用基于规则、启发式分析以及动态测试等多种技术相结合的方式。针对不同漏洞类型,有特定的测试用例与算法。比如检测SQL注入时,会向目标参数注入特殊SQL语法片段,依据服务器返回的错误信息、响应延迟等特征判断是否存在注入漏洞;检测XSS时,尝试嵌入恶意脚本,看是否能在前端页面成功执行。
  • 扫描配置微调:在“Scanner” -> “Scan Configuration”里,可细致调整扫描策略。从扫描深度(浅度扫描快速筛查常见漏洞,深度扫描不放过任何细微可疑点)、并发请求数量(平衡扫描速度与目标服务器负载),到排除特定URL模式或参数(避免扫描某些易误报区域,像一些第三方API接口),都能按需定制,适配CTF复杂多变的赛题环境与真实业务系统的多样化需求。
  • 报告解读与利用:扫描结束生成的报告内容丰富,在“Scanner” -> “Scan Results”查看。报告按漏洞严重程度(高、中、低)分类,每个漏洞条目详细描述漏洞成因、受影响的具体URL、完整的请求与响应示例,还有专业的修复建议。在渗透测试向开发团队反馈问题,或是CTF赛后复盘总结解题思路时,这份报告都是关键资料。

Intruder(入侵者)

在这里插入图片描述

  • 攻击模式详解

    • Sniper:这是最常用模式,选定一个或多个位置添加攻击标记(§), Intruder会依次将字典里的每个值替换到标记位置,适合对单个参数进行暴力破解,例如CTF中常见的简单密码字段爆破。
    • Battering ram:针对多个选定位置,使用同一个字典,同步进行替换攻击。比如测试多个表单字段都采用相同弱口令的场景,能一次性遍历所有可能组合,提升效率。
    • Pitchfork:为不同选定位置分别匹配不同的字典,按照字典顺序依次取值组合,常用于已知部分字段信息,对其他字段进行针对性枚举,像已知用户名猜密码场景。
    • Cluster bomb:对每个标记位置的所有字典值做笛卡尔积组合,穷尽所有可能搭配,虽耗时久,但最全面,用于复杂未知场景的暴力枚举。
  • 有效载荷管理:支持导入各种格式的字典文件,像纯文本字典、CSV文件等,还能利用内置函数生成动态字典。例如通过“Character blocks”生成特定字符集排列组合、“Numbers”生成数字序列,并且可对载荷进行编码转换、添加前缀后缀等预处理操作,贴合复杂攻击场景需求。
    在这里插入图片描述

  • 结果筛选技巧:攻击完成后,面对海量结果,可从响应状态码(如200正常、302跳转、403禁止、500服务器错误等)、响应长度(长度突变可能暗示攻击成功)、响应时间(明显变长可能是后台数据库查询成功但处理耗时)等维度筛选,精准定位疑似成功的攻击尝试。

Repeater(中继器)

  • 请求传输与编辑:从Proxy历史记录或手动构造好请求后发送至Repeater,在“Repeater”标签下,分为上中下三个区域,上方是请求编辑区,细分为“Request line”(编辑请求行,如修改请求方法、URL路径)、“Request headers”(增删改请求头字段及值)、“Request body”(调整表单数据、JSON数据等主体内容);中间是操作按钮,点击“Go”即可重发请求;下方是响应展示区,实时呈现服务器反馈。
  • 会话保持与切换:Repeater能自动维持会话,若目标应用有登录验证机制,首次登录后的会话信息(如Cookie)会保留,后续重发请求仍处于登录状态。同时,还能保存历史发送记录,方便切换不同版本请求,对比细微修改带来的响应差异,是排查漏洞成因、验证修复效果的得力助手。
    在这里插入图片描述

Decoder(解码器)

在这里插入图片描述

  • 编码转换功能组:涵盖日常Web应用中几乎所有常见编码方式,如Base64、URL编码、Hexadecimal、ASCII码、UTF-8等。在“Decoder”标签输入框输入需要转换的数据,一键选择对应的编码或解码操作,就能快速得到结果。例如遇到Base64加密的参数,解码后可能发现隐藏的SQL查询语句,为漏洞挖掘打开新思路。
  • 多层编码处理:面对复杂的多层嵌套编码场景,只需按顺序依次选择相应解码方式。比如先解Hexadecimal,再解Base64,层层剥离,直至还原出原始数据,这在处理CTF中复杂加密谜题时尤为实用。
  • 散列计算与验证:内置常见哈希算法,如MD5、SHA-1、SHA-256等。输入字符串,即刻算出对应哈希值,用于比对数据库泄露的哈希密码,尝试反向破解密码,或是验证文件完整性。

Comparer(比较器)

在这里插入图片描述

  • 对比流程:从Proxy历史记录、文件导入、剪贴板粘贴等多种渠道获取两份待对比数据,分别放入“Comparer”的左右两个输入框,点击“Compare”按钮。对比结果以高亮形式展示,新增内容显示一种颜色,删除内容显示另一种颜色,修改内容则有特殊标识,能快速定位哪怕细微到一个字符的差异。
  • 应用场景:常用于对比正常请求响应与异常请求响应,找出因攻击尝试引发的服务器响应变化,确认漏洞利用是否成功。比如对比正常登录与注入攻击登录尝试后的响应,看哪里出现关键差别,辅助判断攻击有效性。

四、插件生态系统

在这里插入图片描述

  • 官方插件库:PortSwigger官方维护的插件库,会随着Burp Suite主版本更新而增添新插件。这些插件往往聚焦于提升原生工具的性能、拓展特定漏洞检测范围,例如增强对新兴Web框架漏洞的检测能力,让用户无需等待大版本更新就能享受新功能。
  • 第三方插件社区:活跃的第三方社区贡献了海量插件,从优化工作流程自动化脚本(如自动整理扫描报告格式),到针对特定行业应用的漏洞挖掘插件(如金融行业常见业务逻辑漏洞检测)。下载插件后,在Burp Suite的“Extender”标签下,通过“Browsers”或“Add”按钮导入即可启用。
  • 插件开发指南:对于有编程能力的用户,Burp提供了丰富的API文档,基于Java语言,能开发自定义插件。开发者可以按照自己在CTF竞赛特殊解题思路、或是实际渗透项目中独特测试需求,量身定制插件。

五、实战流程

实战可以看这个教程,这是官方教程,有渐入式的学习教程和视频,还有实战操作教学,可以很快的上手。
https://portswigger.net/burp/documentation/desktop/getting-started

信息收集阶段

  • 站点初步爬取:启动Spider对目标站点全面爬行,结合Proxy手动浏览站点热门页面、登录页面、菜单链接等,捕捉所有流经代理的请求,整理出站点大致架构、关键页面URL、表单入口等信息,尤其留意隐藏目录、未公开接口迹象。
  • 技术栈分析:从请求头(如Server字段透露服务器软件信息)、响应头(如X-Powered-By暗示后端语言)、页面脚本引用(判断前端框架)、错误页面(暴露后端框架报错信息)收集线索,分析目标站点采用的技术栈,为后续漏洞预测提供方向。

漏洞探测阶段

  • 通用扫描:利用Scanner对全站点或重点区域进行初步扫描,快速筛查常见漏洞,记录高风险漏洞点,同时留意误报情况,结合人工经验判断。
  • 针对性探测:针对关键交互点,如登录表单、文件上传处,用Intruder配合专业字典、常见漏洞测试字符串进行深度探测,期间不断回顾Proxy历史记录,查找响应异常但未被扫描器识别的点。

漏洞利用与验证阶段

  • 攻击构造:发现疑似漏洞后,在Repeater里精心构造攻击请求,调整参数、请求头,利用Decoder处理加密相关阻碍,尝试突破防护机制。
  • 效果确认:借助Comparer对比攻击前后响应,从响应状态码、内容变化等多方面确认漏洞利用成功,详细记录利用过程与成果,形成测试报告。

相关文章:

渗透学习笔记(十一)Burp Suite 总结

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...

数据结构与算法学习笔记----约数

数据结构与算法学习笔记----约数 author: 明月清了个风 first publish time: 2024.12.30 ps⭐️主要是求约数,约数的个数,约数的和,涉及到算术基本定理的相关内容,第三题的讲解合并在第二题的思路里一起了。 Acwing 869. 试除法…...

PyAudio库基本知识详解——为自制PCM音频播放器做准备

前言 结合前段时间我们做的音频编解码器,这样我们就可以将获取到的ADPCM数据,转换成PCM数据,然后播放出来,得到一个完整的音频数据,因此,接下来几篇文章中,我们想做一个播放PCM格式的音频播放器…...

微信小程序 覆盖组件cover-view

wxml 覆盖组件 <video src"../image/1.mp4" controls"{{false}}" event-model"bubble"> <cover-view class"controls"> <cover-view class"play" bind:tap"play"> <cover-image class"…...

实战案例——ZooKeeper集群部署(新手教程超详细)

案例目标 了解ZooKeeper分布式应用程序协调服务使用3台机器搭建ZooKeeper集群使用ZooKeeper集群 案例分析 规划节点 ZooKeeper集群节点规划 Ip 主机名 节点 192.168.110.10 zookeeper1 集群节点 192.168.110.20 zookeeper2 集群节点 192.168.110.30 zookeeper3 …...

LeetCode 326 3的幂

如何判断一个整数是否为 3 的幂次方 在编程中&#xff0c;我们经常会遇到各种有趣的数学问题&#xff0c;今天就来探讨一个看似简单却又很有技巧性的问题&#xff1a;如何判断一个给定的整数是否是 3 的幂次方。 一、问题描述 给定一个整数 n&#xff0c;我们需要编写一个函数…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之5

本文要点 前端 问题描述语言 本文继续完善 “描述” ---现在我们应该可以将它称为 “问题problem描述语言 ”。 它 通过对话框的question 引发 表征的issue 的“涌现” 最终 厘清应用程序的“problem”。即它合并了 ISO七层模型中的上面三层&#xff0c;通过将三层 分别形成…...

flink-1.16 table sql 消费 kafka 数据,指定时间戳位置消费数据报错:Invalid negative offset 问题解决

请移步至最后的&#xff1a;2024-12-27日调整实现方式&#xff0c;26日实现的有bug&#xff0c;但是可以作为参考。 2024-12-27日调整实现方式 1.上边的方案&#xff0c;可以实现topic中每个分区都正常有数据的情况&#xff0c;但是如果部分分区没有数据&#xff0c;或者指定的…...

【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地

前言&#xff1a;本文教程为&#xff0c;上传文件到服务器并训练深度学习模型&#xff0c;与下载服务器文件到本地。演示指令输入&#xff0c;完整的上传文件到服务器&#xff0c;并训练模型过程&#xff1b;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…...

MyBatis如何处理延迟加载?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis如何处理延迟加载&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis如何处理延迟加载&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MyBatis 中&#xff0c;延迟加载&#xff08;Laz…...

制造BOM的应用思考

一、制造BOM的作用 制造BOM(Manufacturing BOM,MBOM)在制造过程中的应用非常广泛,具体包括以下几个方面: 1. 生产计划和调度: 制造BOM提供了生产过程中所需的所有输入及输出间的关系,包括材料、部品的数量、结构以及制程等信息。这些信息是生产拉动物料需求计划以及成本…...

基于earthSDK三维地图组件开发

上效果 功能点 测量分析相机位置切换geojson数据加载地图打点&#xff0c;显示信息点击回传数据二三位切换 这里二三维切换通上篇openlayers分享&#xff0c;技术交流V:bloxed <template><div class"h100 w100"><div style"width:100%; heig…...

Mono里运行C#脚本5—mono_file_map_open

前面介绍了mono_jit_init初始化,这个函数非常长,要理解起来还是比较困难。因此改变另外一种方式,先从底层的函数开始,再慢慢来探索mono的底层实现,以及它的实现原理,运行的细节。 Mono要运行exe文件,这里是运行test-embed.exe文件,那么就得认识这个文件,解释这个文件的…...

Node.js使用教程

Node.js使用教程 Node.js是一个基于Chrome V8引擎的JavaScript运行环境&#xff0c;它让JavaScript运行在服务器端。以下是一个简单的Node.js使用教程&#xff1a; 一、 Node.js开发环境和编译 1.1 安装Node.js 访问Node.js官网下载并安装适合您操作系统的Node.js版本。 1…...

UniApp 组件的深度运用

一、引言 在当今的移动应用开发领域&#xff0c;跨平台开发已成为主流趋势&#xff0c;而 UniApp 作为其中的佼佼者&#xff0c;备受开发者青睐。UniApp 的强大之处很大程度上源于其丰富且功能多样的组件体系&#xff0c;这些组件宛如精巧的积木&#xff0c;能够帮助开发者快速…...

期末算法分析程序填空题

目录 5-1 最小生成树&#xff08;普里姆算法&#xff09; 5-2 快速排序&#xff08;分治法&#xff09; 输入样例&#xff1a; 输出样例&#xff1a; 5-3 归并排序(递归法) 输入样例&#xff1a; 输出样例&#xff1a; 5-4 求解编辑距离问题&#xff08;动态规划法&#xff09;…...

【机器学习】 卷积神经网络 (CNN)

文章目录 1. 为什么需要 CNN2. CNN 的架构3. 卷积层4. 池化层5. CNN 的应用 1. 为什么需要 CNN 前提&#xff1a;利用前置知识&#xff0c;去掉全连接神经网络中的部分参数&#xff0c;提升学习效率。本质&#xff1a;在 DNN 之前加上 CNN&#xff0c;先去除不必要的参数&…...

LeetCode热题100-字母异位词分组【JavaScript讲解】

题目&#xff1a; 根据题目想思路&#xff1a; 模式识别: 一旦需要根据特征进行归类的&#xff0c;就应该利用散列表。【散列表又叫哈希表】 我们遍历数组中的每一项&#xff0c;将每一项字符串拆分成一个一个的字符&#xff0c;并返回成数组的形式&#xff0c;并且进行排序后…...

面试241228

面试可参考 1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景 不熟 4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用&#xff0c;6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理 spring的 bean的 二级缓存和三级缓存 spr…...

AI界的拼多多:DeepSeek

AI界的拼多多:DeepSeek DeepSeek是一家位于中国杭州的人工智能基础技术研究公司,由杭州幻方量化投资管理合伙企业投资成立于2023年5月,专注于研究人工智能基础技术,其官网为deepseek.com.以下是关于DeepSeek的一些具体介绍及举例: 模型发布 DeepSeek Coder:2023年11月…...

备战春招 | 数字IC FPGA笔试题

在数字电路设计的领域&#xff0c;无论是数字IC&#xff08;集成电路&#xff09;还是FPGA&#xff08;现场可编程门阵列&#xff09;的设计&#xff0c;都需要对一系列核心概念有深刻的理解和掌握。随着科技的快速发展&#xff0c;这些领域的面试题目也在不断更新&#xff0c;…...

微服务-Sentinel新手入门指南

微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下&#xff0c;服务之间存在复杂的调用关系&#xff0c;单个服务的故障或过载可能会迅速影响到整个系统&#xff0c;导致服务雪崩效应。流控组件可以限制进入系统的流量&#xff0c;防止系…...

git clone 超时

git clone 超时 参考 https://blog.csdn.net/qq_45906972/article/details/142214187?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-142214187-blog-137158358.235v43pc_blog_bottom_relevance_base8&spm1001.2101.3001.…...

java的bio、nio、aio 以及操作系统的select、poll、epoll

在 Java 和其他编程语言中&#xff0c;I/O 模型的选择对网络应用的性能和可扩展性有着重要影响。以下是 BIO&#xff08;Blocking I/O&#xff09;、NIO&#xff08;Non-blocking I/O&#xff09;、AIO&#xff08;Asynchronous I/O&#xff09;&#xff0c;以及操作系统级别的…...

Redis——数据过期策略

文章目录 1. 引入2. 数据过期策略2.1 策略一&#xff1a;惰性删除2.1.1 原理2.1.2 优点2.1.3 缺点 2.2 策略二&#xff1a;定期删除2.2.1 原理2.2.2 模式2.2.3 优点2.2.4 缺点 2.3 两种策略的比较 3. 总结 1. 引入 Redis 是一个 高性能 的非关系型数据库&#xff0c;由于 Redi…...

kubernetes Gateway API-1-部署和基础配置

文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…...

二、SQL语言,《数据库系统概念》,原书第7版

文章目录 一、概览SQL语言1.1 SQL 语言概述1.1.1 SQL语言的提出和发展1.1.2 SQL 语言的功能概述 1.2 利用SQL语言建立数据库1.2.1 示例1.2.2 SQL-DDL1.2.2.1 CREATE DATABASE1.2.2.2 CREATE TABLE 1.2.3 SQL-DML1.2.3.1 INSERT INTO 1.3 用SQL 语言进行简单查询1.3.1 单表查询 …...

【postgresql 物化视图】自动刷新物化视图2种方法

普通视图就是一个虚拟表&#xff0c;不占内存。而物化视图是存在的&#xff0c;占内存。 物化视图&#xff0c;默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。 create MATERIALIZED VIEW dnh_analasis_view as select cjsj,a,b,c,d from table_1; REFRESH …...

1 数据库(下):多表设计 、多表查询 + SQL中的with查询语法(MySQL8.0以后版本才支持这种新语法)+ 数据库优化(索引优化)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、多表设计1 多表设计-概述2 三种多表关系一对多&#xff08;多对一&#xff09;&#xff08;1&#xff09;无外键约束&#xff08;逻辑外键&#xff09;&…...

CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)

文章目录 3. Aglie methods&#xff08;敏捷方法&#xff09;3.1 Aglie methods&#xff08;敏捷方法&#xff09;3.1.1 特点3.1.2 优点3.1.3 缺点3.1.4 原则3.1.5 计划驱动与敏捷方法的对比 3.2 Scrum3.2.1 Scrum roles3.2.2 Scrum Activities and Artifacts3.2.2.1 Product B…...

【Linux】进度条

本文中&#xff0c;我们来写一个进度条。 本文大纲&#xff1a; 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题&#xff08;本文不深究&#xff09; ​ 2.1测试代码 3.写一个什么样的进度条&#xff1f; ​ version1 ​ version2 回车换行 这俩不是一个概念&…...

期权懂|个股期权的流动性如何?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 个股期权的流动性如何&#xff1f; 个股期权作为场外交易工具&#xff0c;具有较高的灵活性。场外交易意味着交易双方可以直接协商交易条款&#xff0c;这有助于满足不同投资者的…...

U盘格式化工具合集:6个免费的U盘格式化工具

在日常使用中&#xff0c;U盘可能会因为文件系统不兼容、数据损坏或使用需求发生改变而需要进行格式化。一个合适的格式化工具不仅可以清理存储空间&#xff0c;还能解决部分存储问题。本文为大家精选了6款免费的U盘格式化工具&#xff0c;并详细介绍它们的功能、使用方法、优缺…...

Java学习-Redis

简介 Redis诞生于2009年全称是Remote Dictionary Server&#xff0c;远程词典服务器&#xff0c;是一个基于内存的键值型NoSQL数据库。 特征 特征&#xff1a; 键值&#xff08;key-value&#xff09;型&#xff0c;value支持多种不同数据结构&#xff0c;功能丰富 单线程&a…...

Java处理视频思路

1.首先实现断点续传功能。 断点续传实现思路&#xff1a; 前端对文件分块。前端使用多线程一块一块上传&#xff0c;上传前给服务端发一个消息校验该分块是否上传&#xff0c;如果已上传则不再上传。如果从该断点处断网了&#xff0c;下次上传时&#xff0c;前面的分块已经存在…...

Python入门:8.Python中的函数

引言 在编写程序时&#xff0c;函数是一种强大的工具。它们可以将代码逻辑模块化&#xff0c;减少重复代码的编写&#xff0c;并提高程序的可读性和可维护性。无论是初学者还是资深开发者&#xff0c;深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始…...

计算机网络 (8)物理层的传输方式

一、串行传输与并行传输 串行传输 定义&#xff1a;串行传输是一种数据传输方式&#xff0c;指的是逐位地按照顺序传输数据。在串行传输中&#xff0c;数据位逐个按照一定的顺序进行传输&#xff0c;可以通过单条线路或信道进行。特点&#xff1a; 逐位传输&#xff1a;串行传输…...

3.微服务灰度发布落地实践(组件灰度增强)

文章目录 前言调用链示图dubbo服务之间的的调链cloud 服务之间的调用链 网关servlet容器: 标签续传1.定义插件2.实现灰度增强拦截 线程池: 标签续传1.拦截Runnable或Callable,接口增强实现标签续传;Callable 插件定义Runnable 插件定义拦载Callabl或Runnable构造(可共用)拦载ru…...

每天40分玩转Django:Django Email

Django Email 一、知识要点总览表 类别知识点基础配置SMTP设置、Email配置项发送方式同步发送、异步发送邮件类型纯文本、HTML邮件、带附件邮件异步任务Celery集成、任务队列高级特性邮件模板、批量发送 二、Email基础配置 1. 配置settings.py # settings.py EMAIL_BACKEN…...

ipad如何直连主机(Moonlight Sunshine)

Windows 被连接主机&#xff08;Windows&#xff09; 要使用的话需要固定ip&#xff0c;不然ip会换来换去&#xff0c;固定ip方法本人博客有记载Github下载Sunshine Sunshine下载地址除了安装路径需要改一下&#xff0c;其他一路点安装完成后会打开Sunshine的Web UI&#xff…...

linux 网络安全不完全笔记

一、安装Centos 二、Linux网络网络环境设置 a.配置linux与客户机相连通 b.配置linux上网 三、Yum详解 yum 的基本操作 a.使用 yum 安装新软件 yum install –y Software b.使用 yum 更新软件 yum update –y Software c.使用 yum 移除软件 yum remove –y Software d.使用 yum …...

一、Hadoop概述

文章目录 一、Hadoop是什么二、Hadoop发展历史三、Hadoop三大发行版本1. Apache Hadoop2. Cloudera Hadoop3. Hortonworks Hadoop 四、Hadoop优势1. 高可靠性2. 高扩展性3. 高效性4. 高容错性 五、Hadoop 组成1. Hadoop1.x、2.x、3.x区别2. HDFS 架构概述3. YARN 架构概述4. Ma…...

Android 转场动画合集

项目背景&#xff1a;mvvm组件化&#xff0c;然后由于领导要求&#xff0c;使用MainActivity为主界面&#xff0c;各种业务使用Fragment处理。所以~ 由于单独ActivityN Fragment 的方式&#xff0c;经过十多天的试错&#xff0c;我确认一件事情。再确认过架构方式后一定要了解下…...

STM32 软件I2C读写

单片机学习&#xff01; 目录 前言 一、软件I2C读写代码框架 二、I2C初始化 三、六个时序基本单元 3.1 引脚操作的封装和改名 3.2 起始条件执行逻辑 3.3 终止条件执行逻辑 3.4 发送一个字节 3.5 接收一个字节 3.5 发送应答&接收应答 3.5.1 发送应答 3.5.2 接…...

MySQL数据导出导出的三种办法(1316)

数据导入导出 基本概述 目前常用的有3中数据导入与导出方法&#xff1a; 使用mysqldump工具&#xff1a; 优点&#xff1a; 简单易用&#xff0c;只需一条命令即可完成数据导出。可以导出表结构和数据&#xff0c;方便完整备份。支持过滤条件&#xff0c;可以选择导出部分数据…...

三层交换机配置

✍作者&#xff1a;柒烨带你飞 &#x1f4aa;格言&#xff1a;生活的情况越艰难&#xff0c;我越感到自己更坚强&#xff1b;我这个人走得很慢&#xff0c;但我从不后退。 &#x1f4dc;系列专栏&#xff1a;网路安全入门系列 目录 一&#xff0c;三层交换二&#xff0c;实验案…...

odoo中@api.model, @api.depends和@api.onchange 装饰器的区别

文章目录 1. api.model用途特点示例 2. api.depends用途特点示例 3. api.onchange用途特点示例 总结 在 Odoo 中&#xff0c;装饰器&#xff08;decorators&#xff09;用于修饰方法&#xff0c;以指定它们的行为和触发条件。api.model、api.depends 和 api.onchange 是三个常用…...

Mysql的事务隔离机制

文章目录 事务基础概念隔离性与隔离机制的重要性四种隔离级别读未提交读已提交可重复读串行化 隔离级别设置与查看 事务基础概念 事务是一组数据库操作&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部不执行。在 MySQL 中&#xff0c;事务通常以START TRANSACTION开…...

鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图

鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图 在前面的章节中实现了云捐赠项目的底部导航和分类导航&#xff0c;本讲继续使用云技术丰富首页组件中的功能。这里使用云数据库进行首页组件轮播图的加载。 一、云数据库进行首页组件轮播图的加载 在云捐助项…...

vue项目搭建规范

项目搭建规范 一. 代码规范1.1. 集成editorconfig配置1.2. 使用prettier工具1.3. 使用ESLint检测1.4. git Husky和eslint1.5. git commit规范1.5.1. 代码提交风格1.5.2. 代码提交验证 二. 第三方库集成2.1. vue.config.js配置2.2. vue-router集成2.3. vuex集成2.4. element-plu…...