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

网络安全内容整理二

网络嗅探技术

网络监听

网络监听,也称网络嗅探(Network Sniffing):在他方未察觉的情况下捕获其通信报文、通信内容的技术

网卡的工作模式:

1.广播模式(Broadcast Mode):网卡能够接收网络中的广播信息
2.组播模式(Multicast Mode):网卡能够接收组播数据
3.单播模式(Unicast Mode):只接收目的地址匹配本机MAC地址的数据帧
4.混杂模式(Promiscuous Mode,监听模式):网卡接收一切数据帧,无论其目的MAC地址是什么

嗅探的工作机制:

1.驱动程序支持:直接与网卡驱动程序接口的驱动模块,作为网卡驱动与上层应用的“中间人”,将网卡设置成混杂模式,捕获数据包并从上层接收各种抓包请求
2.分组捕获过滤机制:对来自网卡的数据帧进行过滤,将符合要求的数据交给上层

  • 网卡上传的数据帧有两个去处:正常的协议栈或分组捕获过滤模块,对于非本地的数据包,前者会丢弃,后者则根据上层应用要求来决定是否丢弃
  • 许多操作系统都提供分组捕获机制,如Windows平台上主要有NPF过滤机制,Linux中的SOCK_PACKET类型套接字,BSD系统中的BPF(Berkeley Packet Filter)

3.共享式局域网的监听实现方法

交换式局域网的监听技术

1.溢出攻击

  • 交换机要维护一张MAC地址与端口的映射表(CAM)
  • 维护该表的内存有限。如用大量的错误MAC地址的数据帧对交换机进行攻击,交换机就可能出现溢出
  • 这时交换机就回到广播方式——向所有的端口发送数据包,监听就很容易了(ARP过载, MAC泛洪)

2.ARP欺骗

  • 计算机维护一个IP-MAC地址对应表,该表随着ARP请求/响应不断更新
  • 通过ARP欺骗,改变表里的对应关系,攻击者可以成为被攻击者与交换机之间的“中间人”,使交换式局域网中的所有数据包都流经攻击者的网卡
监听的防御

1.被动防御措施,如采用安全的网络拓扑结构和数据加密技术。注意重点区域的安全防范

  • 网络分段越细,嗅探器收集的信息越少。将网络分成一些小的网络,数据包只能在该网段内部被嗅探。嗅探器不能跨过的网络设备:交换机、路由器。网络分段需要昂贵的硬件设备,只适应于中小的网络
  • VLAN:使网络隔离不必要的数据传送,一般可采用20个工作站为一组,这是比较合理的数字

2.数据通道加密:数据通过事先建立的加密通道进行传输,账号、口令等敏感信息将受到严密保护。主要有

  • SSH(Secure Shell)
  • SSL (Secure Socket Layer,安全套接字应用层)
  • VPN

3.数据内容加密:采用被证实较为可靠的加密机制对传输的邮件和文件进行加密

  • PGP等
交换网络下防范监听的措施

1.主要防止ARP欺骗及ARP过载
2.不要把网络安全信任关系建立在单一的IP或MAC基础上,理想的关系应该建立在IP-MAC的对应关系上
3.使用静态ARP或者IP-MAC对照表代替动态的ARP或者IP-MAC对应表——禁止自动更新,使用手动更新
4.定期检查ARP请求:使用ARP监视工具如ARPWatch等监视并探测ARP欺骗
5.制定良好的安全管理策略,加强用户安全意识


口令破解

口令破解方法:

1.暴力破解(brute force):穷举,速度慢
2.字典攻击:根据用户信息建立起一个用户可能使用的口令列表文件,速度快
3.组合攻击:在字典列表的基础上增加几个字母或数字进行攻击
许多情况下用户喜欢在用户名后加几个字母或数字作为密码,如usr→usr2324
4.其他方式:例如

  • 社会工程学(social engineering)
  • 网络嗅探/木马/口令蠕虫
  • 搜索垃圾箱
windows的口令文件

1.windows: 采用安全账户管理器SAM(Security Account Manager)机制

2.SAM文件:在%systemroot%system32\config目录下

  • 含有本地系统或所在控制域上所有用户名和口令的Hash值
  • 创建口令Hash有两种方法:
    LAN Manager (LM)—最早使用的密码哈希算法之一
    NT LAN Manager v2(NTLMv2)—Windows 2000、XP、Vista、7和10等

3.安全标识RID:在账号创建时被创建;账号删除,RID也同时删除;即使用户名相同,每次创建时获得的RID也不同

4.Windows系统下的hash密码格式为:
用户名:RID:LM-HASH值:NT-HASH值
例: Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:::
用户名:Administrator RID:500 LM-HASH值:C8825DB10F2590EAAAD3B435B51404EE NT-HASH值:683020925C5D8569C23AA724774CE6CC

5.LM哈希的安全缺陷:

  • DES算法密钥太短(56bit)
  • 14个ASCII字符组成的密码,有95^14种可能性,而一旦将其腰斩为两组7位的字符串,就降低为95^7种,不区分大小写,将进一步降低为69^7种。因此密码被保存成LM哈希,在暴力破解面前将不堪一击
  • 如果密码长度<=7,则第二部分hash为固定值0xAAD3B435B51404EE,因此很容易确定密码长度范围
  • Hash值在通过网络发送到服务器时,没有进行salting操作,容易遭受中间人攻击和重放攻击
Windows系统的登录与身份认证

1.登录Windows系统主要包括两种方式,其对应的身份认证方式也不相同

  • 交互式登录:向本地计算机或域账户确认用户的身份
    本地账户登录本地计算机:可以使用存储在本地SAM中的口令散列进行登录——用户输入明文口令,系统对口令使用相同的加密散列过程,并将散列结果与保存的散列进行比较,如果匹配,则通过验证
    域账户登录:默认使用Kerberos V5
  • 网络登录:对用户尝试访问的网络服务或资源提供用户验证。可以使用多种网络身份验证机制,如Kerberos V5、安全套接字/传输层安全(Secure Socket Layer/Transport Layer Security,SSL/TLS)以及与Windows NT 4.0兼容的NTLM机制

2.NTLM的身份认证机制:基于挑战/响应机制(C/R,Challenge/Response)

破解工具

1.SAMInside

  • 支持Windows NT/2000/XP/Vista/7操作系统
  • 可进行字典破解,暴力破解,掩码破解和彩虹表破解
  • 导出PWDUMP格式密码文件

2.Ophcrack:基于彩虹表的windows密码破解软件
3.L0phtCrack
4.John the Ripper
5.Cain & Abel 可破解MySQL,MSSQL等数据库密码

Unix/Linux密码

采用用户名密码存储加密机制

1./etc/passwd: 包含了用户名、用户的真实姓名、标识信息以及每个用户的基本信息,各个域之间用”:”隔开
2./etc/shadow: 影子密码文件,包含了加密过的密码以及密码失效时间,只有root用户才能读取
3.组标识符GID:

  • 每个Unix用户都属于一个或者几个组
  • 每个用户都隶属于一个主用户组,存储在/etc/passwd文件中
  • 可以利用组来限制一些用户对敏感信息或者特殊许可的应用程序的访问权
    /etc/group:列出了计算机上所有的组
    /etc/gshadow:计算机上所有组的群组影子密码文件
文件破解

1.offiice文件加密机制:采用RC4对称加密算法对文件进行加密
2.破解:可用破解工具ARPR(Advanced RAR Password Recovery)

口令破解防御

1.使用安全加密机制
2.使用强口令


欺骗攻击与防御

欺骗:冒充身份通过认证以骗取信任的攻击方式

  • 攻击者针对认证机制的缺陷,将自己伪装成可信任方,从而与受害者交流,以获取信息或者展开进一步攻击
arp欺骗与预防

1.欺骗
在同一个局域网内,主机之间是通过mac地址来相互识别的,但是网络层过来的数据包是ip地址标识的,所以会调用arp协议将ip地址转换为mac地址,然后根据这个mac地址进行数据包的转发,而arp协议原理大概可以理解为去查一份ip-mac地址映射表。

通常情况下,这个表是没有问题的,但是,若攻击者向被攻击者和网关发送相应的伪造的ARP应答包,更改了两者的ARP表。当被工具这和网关进行通信时,根据已更改的ARP表,所有数据都将流向攻击者。通常攻击者还会做一个流量转发,这样被攻击者才不会察觉到被攻击。

2.防御

  • MAC地址绑定
  • 使用静态ARP缓存(arp -s)
  • 使用ARP服务器(确保该服务器不被控制)
  • 使用ARP欺骗防护软件,如ARP防火墙
  • 及时发现进行ARP欺骗的主机,并将其隔离

3.原理(ARP的缺陷):

  • 主机收到应答包后不验证自己是否发送过对应的ARP请求
  • 不验证该回应包是否可信
  • 直接用应答包里的信息替换ARP缓存表中的原有信息

4.检测

  • 网络频繁掉线
  • 网络突然莫名其妙的慢
  • 使用arp –a命令发现网关的MAC地址与真实的网关MAC地址不同
  • 使用网络嗅探软件发现局域网存在大量ARP响应包

IP欺骗与防御

1.IP协议:非面向连接,两台计算机的信任连接主要依靠双方的IP地址

2.IP欺骗的方式

(1)简单的IP地址更改:攻击者将IP地址改成其他主机的地址(攻击效果很一般)

  • TCP:A将收到一无所知的会话回复,将丢弃数据包,无法完成一次完整的TCP连接
  • UDP:无连接,数据包会发送到A,导致拒绝服务

也称盲目飞行攻击(flying blind attack)/单向攻击(one-way attack)

(2)源路由攻击(source routing):攻击者可以使用假冒地址A向受害者B发送数据包,
并指定了宽松的源站选路或者严格路由选择(如果确定能经过所填入的每个路由的话),并把自己的IP地址填入地址清单中。这样,数据包必然会经过攻击者。

  • 宽松的源站选择(LSR):发送端指明数据包必须经过的IP地址清单,但如果需要也可以经过其他地址
  • 严格的源站选择(SRS):发送端指明数据包必须经过的确切IP地址,数据包如果没有经过这一确切路径,数据包将被丢弃,并返回ICMP报文

(3)TCP会话劫持(Session Hijack):接管现存动态会话的过程,即攻击者可以替代原来的合法用户,同时监视并掌握会话内容

  • 会话劫持结合了嗅探及欺骗技术
  • 会话劫持一般伴随着拒绝服务DoS,且不依赖于操作系统
  • 会话劫持的关键之一—TCP序列号猜测

会话劫持过程:

  • 发现攻击目标:必须能检测目标主机的通信流
  • 确认会话状态:会话劫持一般在流量达到高峰时进行
    攻击者可以选择的会话较多
    掉线不容易引起用户的怀疑
  • 猜测序列号:
    TCP仅通过SEQ/ACK序列号来区分正确/错误数据包,以某种方式扰乱客户机的SEQ/ACK,使服务器不再相信客户机的正确数据包,然后伪装成客户机,使用猜测的正确的SEQ/ACK序列号与服务器通信
    扰乱方法:恰当的时间在通信流中插入一个欺骗包,服务器接收后更新ACK;客户机对此毫无察觉,依然使用旧的SEQ通信
  • 使客户主机下线:DoS攻击
  • 接管会话:攻击者在受害服务器上留下后门(创建账号)

3.IP欺骗的防御

  • 防范基本的IP欺骗:
    入口过滤:不允许任何从外面进入网络的数据包使用单位内部地址作为源地址
    出口过滤:从内网主机到内网主机的流量不允许流到本网络之外
  • 防范源路由欺骗:设置路由器禁用源路由
  • 防范会话劫持(没有有效的办法可以根本上防范会话劫持攻击,只能尽量减少攻击带来的危害):
    加密:
    使用安全协议:使用SSH,而不使用Telnet
    限制保护:允许外网到内网的信息越少,内网越安全

DNS欺骗与防御

1.DNS欺骗的原理及实现步骤:

  • 当向本地DNS服务器查询域名时,如果服务器缓存中已有相应记录,就直接将这条记录返回给用户
  • DNS欺骗的关键是在DNS服务器的本地Cache中缓存一条伪造的解析记录

2.攻击(两种情况)

(1)攻击者可以控制本地域名服务器

  • 攻击者控制本地域名服务器(假定是163.com域的权威),在其数据库中增加一个附加记录,将攻击目标的域名(例如www.example.com)指向攻击者的欺骗IP
  • 用户向该域名服务器发送对攻击目标的域名解析时,将得到攻击者的欺骗IP
  • 现实情况:攻击者往往无法控制DNS服务器

(2)攻击者无法控制DNS服务器
可以控制DNS服务器所在网络的某台主机,并可以监听该网络中的通信情况。黑客要对远程的某DNS服务器进行欺骗:

  • 首先,黑客要冒充某个域名服务器的IP地址
  • 其次,黑客要能预测目标域名服务器所发送DNS数据包的ID号

注:确定目标DNS服务器的ID号为DNS欺骗攻击的关键

(3)DNS数据通过UDP(53端口)协议传递,通信过程往往是并行的,即域名服务器之间同时可能会进行多个解析过程。在DNS报文里面。DNS报文格式最开始是所谓ID域,这个ID就是用于区别不同会话过程的,也就是说,不同的解析会话,采用不同的ID号。

(4)如何获取ID号

  • 在某个DNS服务器的网络中进行嗅探,他只要向远程DNS服务器发送一个对本地某域名的解析请求,得到来自目标DNS服务器的请求数据包(因为远程DNS服务器肯定会转而请求本地的DNS服务器),攻击者就可以得到想要的ID号
  • 若无法监听拥有DNS服务器的网络,可用下面的方法:

1.向目标DNS服务器请求某个不存在域名地址(但该域存在)
2.冒充所请求域的DNS服务器,向目标DNS服务器连续发送应答包,包中的ID号依次递增
3.一段时间后,再次向目标DNS服务器发送针对该域名的解析请求,如果得到返回结果,就说明目标DNS服务器接受了刚才的伪造应答,否则,再次尝试

3.DNS欺骗的局限性:

  • 攻击者不能替换缓存中已经存在的记录
  • DNS服务器存在缓存刷新时间问题

4.DNS欺骗的防御

  • 使用最新版本DNS服务器软件并及时安装补丁
  • 关闭DNS服务器的递归功能:利用缓存中的记录信息或通过查询其它服务器获得信息并发送给客户机,称为递归查询——容易导致DNS欺骗
  • 限制区域传输范围:限制域名服务器做出响应的地址、限制域名服务器做出响应的递归请求地址、限制发出请求的地址
  • 限制动态更新
  • 采用分层的DNS体系结构

电子邮件欺骗及防御

1.电子邮件欺骗的原理
邮件系统组成:

  • 用户代理(User Agent):用户端发信和收信的程序,负责将信件按照一定的标准包装,然后送到邮件服务器,或由邮件服务器收回
  • 传输代理(Transfer Agent):负责信件的交换和传输,将信件传送至适当的邮件服务器
  • 投递代理(Delivery Agent):将信件分发至最终用户的邮箱

正常情况下,邮件会将发送者的名字和地址包括进邮件头中,但有时发送者不希望收件者知道是谁发的(匿名邮件)

  • 最简单的方法:改变电子邮件发送者的名字,但通过邮件头的其它信息仍能够跟踪发送者
  • 彻底的方式:让其他人发送这个邮件,发信地址就变成转发者的地址。现在因特网上有大量的匿名服务器

2.电子邮件欺骗的方法

  • 利用相似的电子邮件地址
  • 直接使用伪造的E-mail地址
    SMTP协议的致命缺陷——遵循过于信任的原则:不对邮件发送者的身份进行验证
    可以随意构造发件人地址来发送邮件
  • 远程登录到SMTP端口(25)发送邮件

3.电子邮件欺骗的防御
(1)树立风险意识,不要随意打开一个不信任的邮件
(2)从如下角度考虑防范方法:

  • 邮件接收者:合理配置邮件客户端,使总能显示完整的电子邮件地址,而不仅仅显示别名,完整的电子邮件地址能提供表明正在发生一些不平常事情的一些迹象
  • 邮件发送者: 如使用foxmail或者outlook之类的邮件客户端,保护好邮件客户端,防止他人修改客户端设置
  • 邮件服务器: 采用SMTP身份验证机制:新SMTP协议规范新增2个命令(VRFY,EXPN) ,对发件人进行身份认证,一定程度上降低了匿名/垃圾邮件的风险
  • 邮件加密:
    OpenPGP(RFC 4880):【PGP (Pretty Good Privacy,相当好的隐私,商业版)】 【GnuPG(GPG,C): 开源项目, 支持OpenPGP,S/MIME】
    S/MIME(RFC 2311,Secure/Multipurpose Internet Mail Extension)安全/多用途因特网邮件扩展

Web欺骗与防御

1.欺骗:网络钓鱼等,不多说。
2.防御:

  • 配置网络浏览器使它总能显示目的URL,并且习惯查看它
  • 检查源代码,如果发生了URL重定向,就一定会发现。对普通用户来说是不切实际的
  • 使用反网络钓鱼软件
  • 禁用JavaScript、ActiveX或者任何其他在本地执行的脚本语言
  • 确保应用有效和能适当地跟踪用户。无论是使用cookie还是会话ID,都应该确保要尽可能的长和随机
  • 培养用户的安全意识和对开发人员的安全教育

相关文章:

网络安全内容整理二

网络嗅探技术 网络监听 网络监听,也称网络嗅探(Network Sniffing):在他方未察觉的情况下捕获其通信报文、通信内容的技术 网卡的工作模式: 1.广播模式(Broadcast Mode):网卡能够接收网络中的广播信息 2.组播模式(Multicast Mo…...

IDE解说

IDE(Integrated Development Environment,集成开发环境) 是一种集成了多种开发工具的软件应用程序,旨在简化软件开发过程。 IDE 通常包括代码编辑器、编译器或解释器、调试器、构建自动化工具和版本控制系统等组件。通过将这些工…...

安心护送转运平台小程序

安心护送转运平台小程序是一款基于FastAdminThinkPHPUniapp开发的非急救救护车租用转运平台小程序系统,可以根据运营者的业务提供类似短途接送救护服务,重症病人转运服务,长途跨省护送服务。...

mongodb文档字符串批量替换

【mongodb文档字符串批量替换脚本语句】 前言: 1、本方式对于数据量大的情况不适用,执行可能比较慢; 2、数据量大的情况,个人推荐代码层面解决,多线程替换更快: (1)写实体类的方式…...

模拟实现vector(非常详细)

模拟实现vector 1.基本概念2.vector()默认构造函数3.size()4.capacity()5.empty()6.reverse7.push_back()8.pop_back()9.operator[ ]10.resize()11.insert() 1.基本概念 上一节我们讲了vector的概念以及常用的接口,这一节我们讲一下它的实现,它的底层其实…...

证明直纹极小曲面是平面或者正螺旋面.

目录 证明直纹极小曲面是平面或者正螺旋面 证明直纹极小曲面是平面或者正螺旋面 证明:设极小直纹面 S S S的参数表示为 r ( u , v ) a ( u ) v c ( u ) . (u,v)\mathbf{a}(u)v\mathbf{c}(u). (u,v)a(u)vc(u).则 r u a ′ v c ′ , r v c , r u ∧ r v a ′ ∧…...

电子应用设计方案-34:智能镜子系统方案设计

智能镜子系统方案设计 一、引言 智能镜子作为一种新兴的智能设备,将传统镜子与现代科技相结合,为用户提供了丰富的信息展示和交互功能。它不仅可以作为普通镜子使用,还能够显示天气、新闻、日程安排等信息,甚至可以与智能家居设备…...

前端项目从开发到部署全流程介绍

一、项目初始化 创建项目目录 首先创建一个新的项目目录,例如my - front - end - project。使用命令mkdir my - front - end - project && cd my - front - end - project。 初始化项目 使用npm init或yarn init来初始化项目,这会生成一个packag…...

Vue3.0组件之间通信(defineProps 和 defineEmits 及 defineExpose)

前言&#xff1a; 一、父传子 defineProps二、子传父 defineEmits三、子组件暴露属性和方法给父组件 defineExpose四、依赖注入Provide / Inject 在 <script setup> 中必须使用 defineProps 和 defineEmits API 来声明 props 和 emits &#xff0c;它们具备完整的类型推…...

多种平台上安装部署调试Open5GS(四)

OpenWRT 源码安装 UERANSIM 安装依赖openwrt源码安装cmake其他依赖准备UERANSIM安装测试验证Open5GS 是一个功能完善的开源5G项目,具备5G、4G核心网功能,最新代码支持R17标准, 本系列文章介绍Open5GS在x86、ARM平台上的安装部署方法,并通过搭建UERANSIN、商用5G基站和终端两…...

KST-3D01型胎儿超声仿真体模、吸声材料以及超声骨密度仪用定量试件介绍

一、KST-3D01型胎儿超声仿真体模 KST—3D01型胎儿超声体模&#xff0c;采用仿羊水环境中内置胎龄为7个月大仿胎儿设计。用于超声影像系统3D扫描演示装置表面轮廓呈现和3D重建。仿羊水超声影像呈暗回声&#xff08;无回波&#xff09;特性&#xff0c;仿胎儿超声影像呈对比明显…...

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…...

VTK中对于相机camera的设置

1. 相机的核心属性 在 VTK 中&#xff0c;vtkCamera 的核心属性有默认值。如果你不设置这些属性&#xff0c;相机会使用默认值来渲染场景。 Position&#xff08;默认值&#xff1a;(0, 0, 1)&#xff09;&#xff1a; 默认情况下&#xff0c;相机位于 Z 轴正方向的 (0, 0, 1)…...

小程序解决大问题-物流系统磁盘爆满问题处理

晚上七点&#xff0c;煤矿调运的物流调度系统突然磁盘报名导致服务崩溃。系统用的是微服务&#xff0c;没有详细操作说明&#xff0c;也不敢动&#xff0c;运煤车辆排起了长队&#xff0c;只能联系厂家处理。好在经过30多分钟的处理&#xff0c;服务终于启动&#xff0c;系统运…...

OGRE 3D----5. OGRE和QML事件交互

在现代图形应用程序开发中,OGRE(Object-Oriented Graphics Rendering Engine)作为一个高性能的3D渲染引擎,广泛应用于游戏开发、虚拟现实和仿真等领域。而QML(Qt Modeling Language)则是Qt框架中的一种声明式语言,专注于设计用户界面。将OGRE与QML结合,可以充分利用OGR…...

docker搭建nginx

一. 直接启动nginx镜像 1. 下载nginx镜像 docker pull nginx 2. 运行镜像 docker run -p 8080:80 --name web -d nginx 3. 网址查看 xx.xx.xx.xx:8080 二. 挂在文件启动nginx镜像 1. 拷贝docker文件到本地 docker cp web:/etc/nginx/nginx.conf /root/data/config/nginx…...

Qt之样式表设置总结。。。持续更新

参考文章链接如下: Qt样式表之一:Qt样式表和盒子模型介绍 Qt样式表之二:QSS语法及常用样式 Qt样式表之三:实现按钮三态效果的三种方法 Qt样式表之一:QSS名词解释 Qt样式表之二:常用控件qss Qt样式表之三:QSS奇技淫巧 样式表介绍 Qt样式表是一个可以自定义部件外观的十…...

若依项目源码阅读

源码阅读 前端代码分析 代码生成器生成的前端代码有两个&#xff0c;分别是course.js用于向后端发送ajax请求的接口代码&#xff0c;另一个是index.vue&#xff0c;用于在浏览器展示课程管理的视图组件。前端的代码是基于vue3elementplus。 template用于展示前端组件别的标签…...

Ubuntu20.04运行R-VIO2

目录 1.环境配置2.构建项目3. 运行 VIO 模式4.结果图 1.环境配置 CMakeLists.txt中 C 使用 14、opencv使用4 2.构建项目 克隆代码库&#xff1a; 在终端中执行以下命令克隆项目&#xff1a;git clone https://github.com/rpng/R-VIO2.git编译项目&#xff1a; 使用 catkin_m…...

【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着容器技术的广泛应用,Docker已经成为开发和运维中的标准工具之一。使用Python语言管理Docker容器,不仅可以自动化繁琐的容器操作,还能…...

SQL基础入门——SQL基础语法

1. 数据库、表、列的创建与管理 在SQL中&#xff0c;数据库是一个数据的集合&#xff0c;包含了多个表、视图、索引、存储过程等对象。每个表由若干列&#xff08;字段&#xff09;组成&#xff0c;表中的数据行代表记录。管理数据库和表的结构是SQL的基础操作。 1.1 创建数据…...

Lumos学习王佩丰Excel第十八讲:LOOKUP函数与数组

一、回顾统计函数 1、使用SUMIF函数 sumif(条件区域,求和条件,求和区域) 2、使用SUMIFS函数 SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2, ...) 二、认识数组 1、数组生成原理 所谓数组&#xff0c;是有序的元素序列。组成数组的各个变量称为数组的元素。对于Ex…...

第二节——计算机网络(四)物理层

车载以太网采用差分双绞线车载以太网并未指定特定的连接器&#xff0c;连接方式更为灵活小巧&#xff0c;能够大大减轻线束重量。传统以太网一般使用RJ45连接器连接。车载以太网物理层需满足车载环境下更为严格的EMC要求&#xff0c;100BASE-T1\1000BASE-T1对于非屏蔽双绞线的传…...

【接口封装】——11、Qt 的单例模式

宏定义&#xff1a; Q_GLOBAL_STATIC(NotifyManager,theInstance) 函数定义&#xff1a; class NotifyManager : public QObject {Q_OBJECTpublic:NotifyManager(QObject *parent nullptr);~NotifyManager();static NotifyManager*getInstance(); //单例模式 } 源代码&#…...

理解字母形状,从而获得含义

英文字母&#xff0c;都是象形符号&#xff0c;所以&#xff0c;理解其形象&#xff0c;所象之形&#xff0c;是一项重要的工作&#xff0c;和非常有意义事情。也是我们快速记住大量单词&#xff0c;将单词从底层逻辑开始理清&#xff0c;融会贯通扩展记忆容量的重要办法之一。…...

redis揭秘-redis01-redis单例与集群安装总结

文章目录 【README】【1】安装单机【1.1】安装环境【1.2】安装步骤 【2】redis集群主从模式配置【2.1】集群架构【2.2】redis集群主从模式搭建步骤【2.3】redis集群主从模式的问题&#xff08;单点故障问题&#xff09; 【3】redis集群哨兵模式配置【3.1】集群架构【3.2】redis…...

mini-spring源码分析

IOC模块 关键解释 beanFactory&#xff1a;beanFactory是一个hashMap, key为beanName, Value为 beanDefination beanDefination: BeanDefinitionRegistry&#xff0c;BeanDefinition注册表接口&#xff0c;定义注册BeanDefinition的方法 beanReference&#xff1a;增加Bean…...

RVO动态避障技术方案介绍

原文&#xff1a;RVO动态避障技术方案介绍 - 哔哩哔哩 我们在开发游戏的时候经常会遇到这样的问题&#xff0c;当我们寻路的时候&#xff0c;其它人也在寻路&#xff0c;如何避免不从其它人的位置穿过。这个叫做动态避障&#xff0c;目前主流的解决方案就是RVO。本节我们来介绍…...

HTML CSS JS基础考试题与答案

一、选择题&#xff08;2分/题&#xff09; 1&#xff0e;下面标签中&#xff0c;用来显示段落的标签是&#xff08; d &#xff09;。 A、<h1> B、<br /> C、<img /> D、<p> 2. 网页中的图片文件位于html文件的下一级文件夹img中&#xff0c;…...

【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现

代码主要实现了以下功能&#xff1a; 二叉树相关数据结构定义 定义了二叉树节点结构体 BiTNode&#xff0c;包含节点数据值&#xff08;字符类型&#xff09;以及指向左右子树的指针。 定义了顺序栈结构体 SqStack&#xff0c;用于存储二叉树节点指针&#xff0c;实现非递归遍历…...

MySQL Workbench 数据库建模详解:从设计到实践

目录 数据库建模基础概念MySQL Workbench 简介与安装 什么是 MySQL Workbench&#xff1f;安装与环境配置 MySQL Workbench 数据库建模功能详解 EER 图&#xff08;实体关系图&#xff09;数据库反向工程数据库正向工程模型同步与版本管理 MySQL Workbench 数据库建模实战教程…...

【字体】Fire Code连字效果开启

Vscode 开启方法 1、设置字体Fire Code 放在最前面的即可&#xff1a; 2、启用连字 继续往下找到“在 settings.json 中编辑”&#xff0c;然后设置"editor.fontLigatures": true &#xff1a; 保存即可。 Sublime 开启方法 设置中设置字体后&#xff0c;启…...

springboot kafka在kafka server AUTH变动后consumer自动销毁

前言 笔者使用了kafka用来传输数据&#xff0c;笔者在今年10月写了文章&#xff0c;怎么使用配置化实现kafka的装载&#xff1a;springboot kafka多数据源&#xff0c;通过配置动态加载发送者和消费者-CSDN博客 不过在实际运行中&#xff0c;kafka broker是加密的&#xff0c…...

第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)

重要信息 会议官网&#xff1a;www.lstt.org 大会时间&#xff1a;2024年12月6-8日 大会地点&#xff1a;中国-广州 简介 第六届国际科技创新暨第四届物流系统与交通运输国际&#xff08;LSTT 2024&#xff09;将于2024年12月6-8日在广州举办&#xff0c;这是一个集中探讨…...

【Vue3】【Naive UI】< a >标签

【Vue3】【Naive UI】< a >标签 超链接及相关属性其他属性 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;n-button&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;a&#xff1e; 标签 <a> 标签HTML中的一个锚&…...

Fortran mpi在Linux的安装

最近编译一个程序需要需要 Fortran mpi 编译器&#xff0c;则需要安装 Fortran编辑器和MPI库&#xff0c;以下是具体的安装步骤&#xff1a; 一、安装 Fortran 编译器&#xff08;gfortran&#xff09; 在conda环境中安装&#xff1a; conda install -c conda-forge gfortra…...

蓝桥-希尔排序模板题

第一眼看到这个题还在想希尔排序模板不记得了&#xff0c;于是去网上了搜了一个&#xff0c;但是考虑到这种题只看测试点能不能通过&#xff0c;于是用Arrays方法试了一下&#xff0c;发现也可以。 1.希尔排序模板ac代码 package yunkePra;import java.util.Scanner;public cl…...

深入学习指针(5)!!!!!!!!!!!!!!!

文章目录 1.回调函数是什么&#xff1f;2.qsort使用举例2.1使用qsort函数排序整形数据2.2使用sqort排序结构数据 3.qsort函数的模拟实现 1.回调函数是什么&#xff1f; 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递…...

windows 应用 UI 自动化实战

UI 自动化技术架构选型 UI 自动化是软件测试过程中的重要一环&#xff0c;网络上也有很多 UI 自动化相关的知识或资料&#xff0c;具体到 windows 端的 UI 自动化&#xff0c;我们需要从以下几个方面考虑&#xff1a; 开发语言 毋庸置疑&#xff0c;在 UI 自动化测试领域&am…...

nodejs相关知识介绍

1、nodejs官方文档&#xff1a; https://nodejs.org/zh-cn nodejs可以用nvm进入安装&#xff1b; 2、npm说明&#xff1a; npm官方教程&#xff1a;https://npm.p2hp.com/ npm是 Node.js 的标准包管理器&#xff0c;也就是说nodejs安装好&#xff0c;npm也就安装好了&#…...

How to monitor Spring Boot apps with the AppDynamics Java Agent

本文介绍如何使用 AppDynamics Java 代理监视 Azure Spring Apps 中的 Spring Boot 应用程序。 使用 AppDynamics Java 代理可以&#xff1a; 监视应用程序使用环境变量配置 AppDynamics Java 代理 在 AppDynamics 仪表板中检查所有监视数据 How to monitor Spring Boot app…...

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本。 原因是&#xff1a;当前操作系统版本为Windows Server 2016 Standard版本&#xff0c;其自带的Microsoft .NET Framework 版本为4.6太低&#xff0c;不满足要求。 根据报错的提示&#xff0c;点击链接…...

TypeScript核心语法(5)——函数

简介​ 函数的类型声明&#xff0c;需要在声明函数时&#xff0c;给出参数的类型和返回值的类型。 function hello(a: string): void {console.log("hello " txt); } 上面示例中&#xff0c;函数hello()在声明时&#xff0c;需要给出参数a的类型&#xff08;stri…...

【MyBatis】验证多级缓存及 Cache Aside 模式的应用

文章目录 前言1. 多级缓存的概念1.1 CPU 多级缓存1.2 MyBatis 多级缓存 2. MyBatis 本地缓存3. MyBatis 全局缓存3.1 MyBatis 全局缓存过期算法3.2 CacheAside 模式 后记MyBatis 提供了缓存切口&#xff0c; 采用 Redis 会引入什么问题&#xff1f;万一遇到需强一致场景&#x…...

ARIMA-神经网络混合模型在时间序列预测中的应用

ARIMA-神经网络混合模型在时间序列预测中的应用 1. 引言 1.1 研究背景与意义 时间序列预测在现代数据科学中扮演着越来越重要的角色。从金融市场的价格走势到工业生产的需求预测,从气象数据的天气预报到用电量的负荷预测,时间序列分析无处不在。传统的统计方法和现代深度学习…...

Scala关于成绩的常规操作

score.txt中的数据&#xff1a; 姓名&#xff0c;语文&#xff0c;数学&#xff0c;英语 张伟&#xff0c;87&#xff0c;92&#xff0c;88 李娜&#xff0c;90&#xff0c;85&#xff0c;95 王强&#xff0c;78&#xff0c;90&#xff0c;82 赵敏&#xff0c;92&#xff0c;8…...

【Maven】项目创建

3. Maven的应用 本章主要内容&#xff1a; 使用 Maven 创建 JavaSE 项目使用 Maven 创建 JavaWeb 项目&#xff0c;在本地部署 Tomcat 测试导入 Maven 项目 3.1 基于Maven开发JavaSE的项目 3.1.1 流程 1、File—>new—>Project—>Empty Project Location&#xff1…...

基于 LlamaFactory 的 LoRA 微调模型支持 vllm 批量推理的实现

背景 LlamaFactory 的 LoRA 微调功能非常便捷&#xff0c;微调后的模型&#xff0c;没有直接支持 vllm 推理&#xff0c;故导致推理速度不够快。 LlamaFactory 目前支持通过 VLLM API 进行部署&#xff0c;调用 API 时的响应速度&#xff0c;仍然没有vllm批量推理的速度快。 …...

Vue进阶之单组件开发与组件通信

书接上篇&#xff0c;我们了解了如何快速创建一个脚手架&#xff0c;现在我们来学习如何基于vite创建属于自己的脚手架。在创建一个新的组件时&#xff0c;要在新建文件夹中打开终端创建一个基本的脚手架&#xff0c;可在脚手架中原有的文件中修改或在相应路径重新创建&#xf…...

HCIE IGP双栈综合实验

实验拓扑 实验需求及解法 本实验模拟ISP网络结构&#xff0c;R1/2组成国家骨干网&#xff0c;R3/4组成省级网络&#xff0c;R5/6/7组成数据中 心网络。 配置所有ipv4地址&#xff0c;请自行测试直连。 R1 sysname R1 interface GigabitEthernet0/0/0ip address 12.1.1.1 255.…...