DHCP Snooping各种场景实验案例
一、概述
DHCP Snooping的基本功能能够保证客户端从合法的服务器获取IP地址,而且能够记录DHCP客户端IP地址与MAC地址等参数的对应关系,进而生成绑定表。
DHCP Snooping的基本功能的配置任务如下(只有前面两个是必选的)。
- 使能DHCP Snooping功能。
- 配置接口信任状态。
- (可选)使能DHCP Snooping用户位置迁移功能。
- (可选)配置ARP与DHCP Snooping的联动功能。
- (可选)配置丢弃GIADDR字段非零的DHCP Request报文。
使能DHCP Snooping功能
在配置DHCP Snooping各安全功能之前,需首先使能DHCP Snooping功能。使能DHCP Snooping功能的配置顺序是先使能全局下的DHCP Snooping功能,再使能接口或VLAN下的DHCP Snooping功能。
注意:对于AR120&AR150&AR160&AR200系列产品以及AR120系列产品,为使设备能够获取到用户的绑定表项,在接口或VLAN下是使能DHCP Snooping功能之前,需确保已在该接口或VLAN对应的VLANIF口上使能了DHCP中继或DHCP服务器功能。其他AR系列路由器没有这方面要求。
二、实验
1、防止DHCP服务器仿冒者攻击
由于DHCP服务器和DHCP客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。如果该DHCP服务器为用户分配了错误的IP地址和其他网络参数,将会对网络造成非常大的危害。
DHCP客户端发送的DHCP Discover报文是以广播的形式发送的,无论是合法的DHCP服务器,还是非法的DHCP服务器都可以接收到。如果此时DHCP服务器仿冒者回应给DHCP客户端仿冒信息,如错误的网关地址、错误的DNS服务器、错误的IP等信息,如下图2所示,DHCP客户端将无法获取正确的IP地址和相关信息,导致合法客户无法正常访问网络或信息安全受到严重威胁。
拓扑
(1)基础配置
false DHCP Server
system
sysname falseServer
interface g0/0/0
ip add 10.1.11.1 24DHCP Server
system
sysname DHCPServer
interface g0/0/0
ip add 10.0.11.1 24
(2)DHCP服务器配置
false DHCP Server
dhcp enable
ip pool 1
gateway-list 10.1.11.1
network 10.1.11.0 mask 255.255.255.0
dns-list 10.10.10.10
q
interface g0/0/0
dhcp select globalDHCP Server
dhcp enable
ip pool 1
gateway-list 10.0.11.1
network 10.0.11.0 mask 255.255.255.0
dns-list 8.8.8.8
q
interface g0/0/0
dhcp select global
false DHCP Server
DHCP Server
可以看到如果客户端先收到非法服务器发送的Offer响应报文,则直接使用非法服务器分配的IP地址,这样就会有安全隐患
这张拓扑当中我们想要解决这个问题很简单只需要在交换机上使能DHCP Snooping功能并把连接合法DHCP Server的接口设置为信任端口,把非法服务器连接的接口设置为非信任接口,这样客户端发送的请求报文就不会发送给除信任端口以外的任何接口
SW1
system
sysname SW1
dhcp enable
dhcp snooping enable
int g 0/0/1
dhcp snooping enable
int g 0/0/2
dhcp snooping enable
int g 0/0/3
dhcp snooping enable
dhcp snooping trusted
DHCP Server
false DHCP Server
配置完我们可以看到客户端发送的请求报文不会从交换机的2号端口在转发出去而是直接丢弃并且可以看到非法服务器的接口上并没有接收到来自客户端的请求报文
配置完DHCP Snooping后我们也可以在交换机上查看响应表项
2、防止DHCP报文泛洪攻击
在DHCP网络环境中,若攻击者短时间内向设备发送大量的DHCP报文,将会对设备的性能造成巨大的冲击,可能会导致设备无法正常工作。
拓扑
(1)基础配置
DHCPServer
system
sysname DHCPServer
interface g0/0/0
ip add 10.0.1.1 24
(2)DHCP服务器配置
DHCPServer
dhcp enable
ip pool 1
gateway-list 10.0.1.1
network 10.0.1.0 mask 255.255.255.0
dns-list 8.8.8.8
q
interface g0/0/0
dhcp select global
(3)DHCP Snooping配置
SW
system
sysname SW1
dhcp enable
dhcp snooping enable
interface g0/0/3
dhcp snooping enable
dhcp snooping check dhcp-rate enable
dhcp snooping check dhcp-rate 10
配置完后交换机的3号端口的DHCP报文发送速率超过规定速率后就会将其丢弃
当然我们也可以配置丢弃报文告警和报文限速告警
SW
interface g0/0/3
dhcp snooping alarm dhcp-rate enable
dhcp snooping alarm dhcp-rate threshold 100
3、防止仿冒DHCP报文攻击
在DHCP服务提供过程中,已获取到IP地址的合法用户通过向服务器发送DHCP Request或DHCP Release报文续租或释放IP地址。如果攻击者冒充合法用户不断向DHCP服务器发送DHCP Request报文来续租IP地址,会导致这些到期的IP地址无法正常回收,以致一些合法用户不能获得IP地址;而若攻击者仿冒合法用户的DHCP Release报文发往DHCP服务器,会导致用户异常下线。
拓扑
基础配置和DHCP服务器配置与上实验相同这里不过多赘述
在这张拓扑当中攻击者可能会不间断的发送DHCP Request报文导致这些到期的IP地址无法正常回收或不间断地发送DHCP Release报文,导致合法用户异常下线
我们可以配置DHCP Snooping包检查功能来防止这种情况产生
SW
system
sysnanme SW1
dhcp enable
dhcp snooping enable
dhcp snooping check dhcp-rate enable vlan 1
配置完后交换机会对VLAN1下收到的所有DHCP的相关报文进行检查
使能DHCP Snooping检查功能后对DHCP报文的检查流程
在DHCP网络环境中,如果攻击者仿冒合法用户的DHCP Request报文并发往DHCP服务器,将导致合法用户的IP地址租约到期之后不能及时释放,也无法使用该IP地址;如果攻击者仿冒合法用户的DHCP Release报文发往DHCP服务器,又将导致合法用户异常下线。
使能了DHCP Snooping功能后,设备可根据生成的DHCP Snooping绑定表项,对DHCP Request报文或DHCP Release报文进行匹配检查,只有匹配成功的报文设备才将其转发,否则将丢弃。这可有效地防止非法用户通过发送伪造DHCP Request或DHCP Release报文冒充合法用户续租或释放IP地址。
DHCP Snooping设备对DHCP Request报文或DHCP Release报文的匹配检查规则如下。
对DHCP Request报文检查
- 首先检查报文的目的MAC是否为全F(也就是广播报文),如果是,则认为是第一次上线的DHCP Request广播报文,直接通过;如果报文的目的MAC地址不是全F,则认为是续租报文,将根据绑定表项中的VLAN、IP地址、接口信息进行匹配检查,完全匹配才通过。
- 检查报文中的Chaddr字段值是否与绑定表中的网关地址匹配,如果不匹配,则认为是用户第一次上线,直接通过;如果匹配,则继续检查报文中的VLAN、IP地址、接口信息是否均和绑定表匹配,完全匹配通过,否则丢弃。
对DHCP Release报文检查
- 将直接检查报文中的VLAN、IP地址、MAC地址、接口信息是否匹配绑定表,匹配则通过,不匹配则丢弃。
4、防止DHCP服务器拒绝服务攻击
如果设备某接口下存在大量攻击者恶意申请IP地址,会导致DHCP服务器中IP地址快速耗尽而不能为其他合法用户提供IP地址分配服务。另一方面,DHCP服务器通常仅根据DHCP Request报文中的Chaddr字段来确认客户端的MAC地址。如果某一攻击者通过不断改变Chaddr字段向DHCP服务器申请IP地址,同样会导致DHCP服务器上的地址池被消耗殆尽,从而无法为其他正常用户提供IP地址。
拓扑
基础配置和DHCP服务器配置与上实验相同这里不过多赘述
在这张拓扑当中攻击者会通过发送大量的请求报文来申请我们服务器的IP地址,导致我们服务器地址枯竭无法正常给合法用户分配IP地址
情况一、源MAC与Chaddr字段中的值不相同时(攻击者只改变报文中的Chaddr字段,不改变MAC)
解决办法一:我们可以通过配置DHCP Snooping限制最大DHCP用户数量来解决
(3)DHCP Snooping配置
SW1
system
sysname SW1
dhcp enable
dhcp snooping enable
interface g0/0/1
dhcp snooping max-user-number 10
interface g0/0/2
dhcp snooping max-user-number 10
interface g0/0/3
dhcp snooping max-user-number 10
配置完后交换机会根据DHCP Snooping表项中的参数信息,如果接口下的用户数超过规定数的话,后续报文则丢弃。
解决办法二:因为攻击者是通过不同的MAC来发送不同的请求报文实现泛洪攻击的,但不会去更改Chaddr中的内容,所以我们可以开启Chaddr字段检查来解决
(3)DHCP Snooping配置
SW1
system
sysname SW1
dhcp enable
dhcp snooping enable
dhcp snooping check dhcp-chaddr enable vlan 1
配置完后交换机会对VLAN1中接收到的DHCP报文中的Chaddr字段进行检查,如果该值与MAC不相等则丢弃。
当然我们也可以在接口配置告警信息
interface g0/0/1
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
interface g0/0/2
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
interface g0/0/3
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
情况二、源MAC与Chaddr字段中的值相同时(攻击者改变MAC和Chaddr字段中的值)
解决办法一:同样我们可以限制DHCP Snooping最用DHCP用户数来解决
解决办法二:通过端口安全来限制MAC,因为攻击者会同时更改MAC和Chaddr字段,所以我们限制接口的最大MAC数也可以解决,但这张解决办法只能使用在情况二,无法解决情况一。
解决办法三:通过端口安全来限制MAC,在使用DCHP Snooping来检查Chaddr字段中的数值。
SW1
dhcp enable
dhcp snooping enable
dhcp snooping check dhcp-chaddr enable vlan 1
interface g0/0/1
port-security enable
port-security max-mac-num 10
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
interface g0/0/2
port-security enable
port-security max-mac-num 10
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
interface g0/0/3
port-security enable
port-security max-mac-num 10
dhcp snooping enable
dhcp snooping alarm dhcp-chaddr enable
dhcp snooping alarm dhcp-chaddr threshold 120
到这里就是本章节的全部内容了,其中可能有部分内容与教材雷同,如有冲突可联系博主删除,谢谢大家的浏览观看
相关文章:
DHCP Snooping各种场景实验案例
一、概述 DHCP Snooping的基本功能能够保证客户端从合法的服务器获取IP地址,而且能够记录DHCP客户端IP地址与MAC地址等参数的对应关系,进而生成绑定表。 DHCP Snooping的基本功能的配置任务如下(只有前面两个是必选的)。 使能DHCP Snooping功能。配置接口信任状态。(可选)使能…...
设计模式简述(八)中介者模式
中介者模式 描述基本使用使用 描述 为了简化多个类间复杂的耦合关系,单独定义一个中介者 将边界交互的部分交给中介者,从而简化各个类内部逻辑 个人建议在3个及以上的类间存在复杂交互关系时再考虑中介者,否则可能反而增加系统复杂度 基本使…...
【力扣hot100题】(064)在排序数组中查找元素的第一个和最后一个位置
调试了半天终于过了…… 神人题目,主要是情况太太太多了,有先找到左边界的情况、先找到右边界的情况、找到中间节点之后要依次找左右边界的情况……其实要是弄多一点循环应该就不会像我写的这么复杂,但我太懒了就是不想多开循环。 class So…...
【Python爬虫高级技巧】深入掌握lxml库:XPath解析/HTML处理/性能优化全攻略|附企业级实战案例
作为Python生态中最快的HTML/XML解析库,lxml凭借其C语言级别的性能表现,成为爬虫和数据处理的利器。但很多开发者仅停留在基础用法,未能充分发挥其潜力。唐叔将通过本期带你深入剖析lxml的奥秘。 文章目录 一、lxml架构设计揭秘1.1 Cython混合…...
ABAP 新语法 - corresponding
在 ABAP 中,CORRESPONDING 操作符用于根据字段名称自动映射结构体(Structure)或内表(Internal Table)的字段值。它比传统的 MOVE-CORRESPONDING 语句更灵活,支持更多控制选项。 基础用法 data: begin of …...
基于高云fpga实现的fir串行滤波器
大家好,随着国产芯片的崛起,本文将专注于使用国产fpga芯片----高云fpga实现串行fir滤波器的项目 1.fir滤波器简介 设计一个频域滤波器(将想要保留的频率段赋值为1,其他频率段赋值为0),将其与含噪声信号的…...
Spring 中的 BeanFactory 和 ApplicationContext
在 Spring 中,BeanFactory 和 ApplicationContext 都是 IOC 容器的实现接口,负责管理 Bean 的生命周期和依赖注入。但它们之间确实有一些关键区别。 🔍 一、什么是 BeanFactory? BeanFactory 是 Spring 最基础的 IOC 容器接口&am…...
木里风景文化|基于Java+vue的木里风景文化管理平台的设计与实现(源码+数据库+文档)
木里风景文化管理平台 目录 基于SSM+vue的木里风景文化管理平台的设计与实现 一、前言 二、系统设计 三、系统功能设计 1 系统功能模块 2 管理员功能模块 3 用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源…...
国内 windows powershell 安装 scoop
目录 Win10 Terminal Powershell 安装 scoop 失败1. 网络问题2. 报错 Win10 Terminal Powershell 安装 scoop 失败 1. 网络问题 将通常使用的 get.scoop.sh 改为 scoop.201704.xyz (使用scoop国内镜像优化库) 2. 报错 Running the installer as administrator is disabled b…...
【Linux】iptables命令的基本使用
语法格式 iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]注意事项 不指定表名时,默认使用 filter 表不指定链名时,默认表示该表内所有链除非设置规则链的缺省策略,否则需要指定匹配条件 设置规则内容 -A:…...
ROS2笔记-2:第一个在Gazebo中能动的例子
第一个在Gazebo中能动的例子 写在前面X-windows 与cursorSimple ROS2 RobotProject StructureFeaturesDependenciesInstallationUsageRobot DescriptionMovement PatternCustomization 解释运行的效果启动控制机器人移动 代码 写在前面 第一个在Gazebo中能动的例子 是指对我来…...
剑指Offer(数据结构与算法面试题精讲)C++版——day6
剑指Offer(数据结构与算法面试题精讲)C版——day6 题目一:不含重复字符的最长子字符串题目二:包含所有字符的最短字符串题目三:有效的回文 题目一:不含重复字符的最长子字符串 这里还是可以使用前面&#x…...
人工智能起源:从图灵到ChatGPT
如今作诗AI的祖先是打卡机、缓慢行动的机器人和神一般的游戏引擎。 “第一台能产生自己想法”的机器问世近70年后,人类的大脑仍然没有真正的对手 1958年冬天,30岁的心理学家弗兰克 罗森布拉特(Frank Rosenblatt)正从康奈尔大学前…...
vue2打包部署到nginx,解决路由history模式下页面空白问题
项目使用的是vue2,脚手架vue-cli 4。 需求:之前项目路由使用的是hash,现在要求调整为history模式,但是整个过程非常坎坷,遇到了页面空白问题。现在就具体讲一下这个问题。 首先,直接讲路由模式由hash改为…...
ASM磁盘组替换
1.udev绑定新磁盘 udevadm control --reload-rules udevadm trigger [rootrac1 ~]# ll /dev/asm* brw-rw---- 1 grid asmadmin 8, 64 Apr 4 13:55 /dev/asm-arc brw-rw---- 1 grid asmadmin 8, 48 Apr 4 14:04 /dev/asm-data brw-rw---- 1 grid asmadmin 8, 80 Apr 4 14:03…...
ZooKeeper集群部署(容器)
文章目录 一、ZooKeeper基本概念二、ZooKeeper集群部署1、前置环境准备2、ZooKeeper伪集群部署(可选)3、ZooKeeper集群部署(可选) 三、ZooKeeper集群验证1、查看集群角色2、数据同步测试3、选举leader测试 一、ZooKeeper基本概念 ZooKeeper是一个分布式且开源的分布式应用程序…...
Scala语言基础:开启你的 Flink 之旅
引言:为什么选择Scala? 大家好,我是心海! Scala(Scalable Language)是一门融合面向对象与函数式编程的现代语言。它像瑞士军刀一样灵活——既能编写简洁的脚本,又能构建复杂的分布式系统。想象你…...
C++计算机视觉实战:100个实际案例分析
【2025最新版】C计算机视觉100个案例算法汇总(长期更新版) 本文是基于C的项目实战,需要具备一点C基础与深度学习基础,并且对opencv、open3d、tensorrt、onnxruntime有一定了解。 你们的订阅是我更新的动力,请订阅、点赞、收藏。 1.Yolov5实…...
V-SHOW和箭头函数在VUE项目的踩坑点
v-show和v-if v-show控制显示隐藏是通过控制CSS的display决定dom节点的显示和隐藏。v-if通过控制dom节点的渲染与否实现元素的显示和隐藏。 在vue中,template标签不参与页面渲染,也不会破坏代码的层级结构,所以多和v-if结合控制元素的显示隐…...
vscode使用方式
一、常用快捷键与代码操作 注释与代码排版 行注释:Ctrl /;块注释:Shift Alt A。 代码缩进:选中代码段后按 Tab(右移)或 Shift Tab(左移)。 代码导航与编辑 快速跳转文件&…...
使用OpenSceneGraph生成3D数据格式文件
OpenSceneGraph (OSG) 提供了多种方式来生成和导出3D数据格式文件。以下是详细的生成方法和示例代码: 一、基本文件生成方法 1. 使用osgDB::writeNodeFile函数 这是最直接的生成方式,支持多种格式: #include <osgDB/WriteFile>osg:…...
网络安全应急响应-系统排查
在网络安全应急响应中,系统排查是快速识别潜在威胁的关键步骤。以下是针对Windows和Linux系统的系统基本信息排查指南,涵盖常用命令及注意事项: 一、Windows系统排查 1. 系统信息工具(msinfo32.exe) 命令执行&#x…...
如何判断JVM中类和其他类是不是同一个类
如何判断JVM中的类是否为同一个类 在Java虚拟机(JVM)中,判断两个类是否相同需要同时满足以下三个条件: 1. 类全限定名必须相同 包括包名类名的完整路径必须完全一致例如:java.lang.String和com.example.String被视为不同类 2. 加载该类的…...
Prolog语言的共识算法
Prolog语言的共识算法 引言 在分布式计算和区块链技术的背景下,共识算法作为确保节点一致性的重要机制,受到了广泛关注。传统的共识算法如PBFT( Practical Byzantine Fault Tolerance )等在许多系统中得到了应用,但随…...
AIDD-深度学习 MetDeeCINE 破译代谢调控机制
深度学习 MetDeeCINE 破译代谢调控机制 目录 使用 FEP/REMD 和 DFT 方法准确预测药物多靶点绝对结合自由能的新途径。Scorpio 框架利用对比学习优化核苷酸序列表示,提升基因组分析效率,尤其在未知序列的分类和泛化能力上表现出色。LPM 模型整合多模态扰…...
pyTorch框架-迁移学习-实现四种天气图片多分类问题
目录 1.导包 2.加载原数据、创建训练与测试目录路径 3.用transforms.Compose、torchvision.datasets.ImageFolder数据预处理 4.加载预训练好的模型 5.固定与修改预训练模型的参数 6.将模型拷到GPU上 7.定义优化器与损失函数 8.定义训练过程 9.测试运行 10.测试结果…...
python1(基础语法输入输出)
输入输出: 输出 print(*objects, sep , end\n, filesys.stdout, flushFalse) objects:这是一个可变参数,意味着你可以传入任意数量的对象。print 函数会将这些对象依次打印出来。在函数内部,这些对象会被转换为字符串形式。 se…...
Linux:页表详解(虚拟地址到物理地址转换过程)
文章目录 前言一、分页式存储管理1.1 虚拟地址和页表的由来1.2 物理内存管理与页表的数据结构 二、 多级页表2.1 页表项2.2 多级页表的组成 总结 前言 在我们之前的学习中,我们对于页表的认识仅限于虚拟地址到物理地址转换的桥梁,然而对于具体的转换实现…...
OpenStack Yoga版安装笔记(十七)安全组笔记
一、安全组与iptables的关系 OpenStack的安全组(Security Group)默认是通过Linux的iptables实现的。以下是其主要实现原理和机制: 安全组与iptables的关系 OpenStack的安全组规则通过iptables的规则链实现。每条安全组规则会被转换为相应的i…...
开源身份和访问管理方案之keycloak(三)keycloak健康检查(k8s)
文章目录 开源身份和访问管理方案之keycloak(三)keycloak健康检查启用运行状况检查 健康检查使用Kubernetes下健康检查Dockerfile 中 HEALTHCHECK 指令 健康检查Docker HEALTHCHECK 和 Kubernetes 探针 开源身份和访问管理方案之keycloak(三&…...
棋盘问题(DFS)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。 要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 kk 个棋子的所有可行的摆放方案数目 C…...
verilog学习--1、语言要素
先看一个例子 /*This is first Verilog progaram*/ timescale 1ns/1ns module HalfAdder(A,B,Sum,Carry);input A,B;output Sum, Carry; /**/assign #2 SumA^B;assign #5 CarryA&B; endmodule; Verilog以module为单位编写,每个文件一个module&#…...
from fastmcp import FastMCP和from mcp.server.fastmcp import FastMCP的区别是什么?
文章目录 困惑以方式一开启一个mcp server,并用cline进行调用mcp install server.py修改配置文件以方式二开启MCP server困惑 一直比较困惑的是,好像用python实现mcp server有两种实现方式。 一是使用: https://github.com/modelcontextprotocol/python-sdk 二是使用: …...
QT工程建立
打开软件新建一个工程 选择chose 工程命名,选择保存路径,可以自己选择,但是不要有中文路径 默认的直接下一步 任意选一个下一步 点击完成 之后是这个界面,点击右下角的绿色三角形编译一下 实验内容 添加类 第一个是建立cpp和.h文件…...
Day82 | 灵神 | 快慢指针 重排链表
Day82 | 灵神 | 快慢指针 重排链表 143.重排链表 143. 重排链表 - 力扣(LeetCode) 思路: 笔者直接给跪了,这个难度真是mid吗 直接去看灵神的视频 环形链表II【基础算法精讲 07】_哔哩哔哩_bilibili 1.简单来说就是…...
TCN-LSTM时间卷积长短期记忆神经网络多变量时间序列预测(Matlab完整源码和数据)
目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.TCN-LSTM时间卷积长短期记忆神经网络多变量时间序列预测(Matlab完整源码和数据) 2.运行环境为Matlab2023b; 3.data为数据集,输入多个特征,输出单个变量&a…...
语法: lcd_load( buffer_pointer, offset, length);
LCD_LOAD() 语法: lcd_load( buffer_pointer, offset, length); 参数: buffer_pointer指向发送给LCD的用户数据; offset是用来将该数据写入LCD,用作进入LCD segment memory的偏移量; length是传送的字节数. 要求: 没有. 功能: 该函数将从CPU的buffer_pointer存储区…...
分治(8题)
目录 一、快排 1.颜色分类 2.排序数组 3.数组中的第k个最大元素 4.最小的K个数 二、归并 1. 排序数组 2.数组中的逆序对 3.计算右侧小于当前元素的个数 4.翻转对 一、快排 1.颜色分类 75. 颜色分类 - 力扣(LeetCode) left和right,初…...
【9】数据结构的串篇章
目录标题 串的定义顺序串的实现初始化赋值打印串求串的长度复制串判断两个串长度是否相等连接两个串比较两个串内容是否相等插入操作删除操作调试与代码合集 串的模式匹配算法朴素的模式匹配算法KMP算法实现模式匹配 串的定义 定义:由0个或多个字符组成的有限序列&…...
Linux file命令
目录 一. file命令简介二. -b 输出结果不显示文件名三. --mime 输出文件的MIME类型字符串四. 批量确认文件类型4.1 -f 从指定的文件中读取文件路径,显示其文件类型4.2 配合find命令查找确认 一. file命令简介 由于Linux系统并不是像Windows系统那样通过扩展名来定义…...
ARM-UART
时钟选择PLCK,超时3ms自动发送,设置发送8位的缓冲区,且发送中断 设置触发深度,达到8字节将缓冲区数据发憷 中断处理函数...
AFT3 Engine传奇世界AFT3代引擎源码
此AFT3代引擎源码,不是老AFT0330版本,应该是WeiAFT的源码 本源码为新AFT3引擎源码,直接电脑打包出来, 现在市面上使用的AFT3引擎都是用的此款,下载编译即用 链接: https://pan.baidu.com/s/1Zxa64AQ7MUsdV2iIrqiTEg 提…...
[ 3分钟算法 ] | 递归搜索题目 : 翻转链表(递归版)
目录 1. 题目链接: 2. 思路分析: 思路一:从宏观上看 思路二:将链表看成一颗树 3. 代码 1. 题目链接: LCR 024. 反转链表 2. 思路分析: 思路一:从宏观上看 让当前节点后面的链表先逆置&…...
左值与右值,空间与数据
左值是空间,右值是数据 编程总是对“数据”,对"存放数据的空间"操作 a返回一个当前的数据,存放到一个临时空间中,自身的空间中的数据再进行运算 a直接对自身空间中的数据进行运算 其余知识: 1.变量名的意…...
线程池/内存池/mysql连接池
线程池介绍 ①线程池定义: 维持和管理固定数量线程的结构,用于解决资源频繁创建和销毁的问题。 ②线程池组成: 固定数量的线程、队列、任务状态管理。 ④线程池的作用: 避免频繁创建和销毁线程,管理线程状态&…...
图解AUTOSAR_SWS_FlexRayARTransportLayer
FlexRay AUTOSAR 传输层 (FrArTp) 分析 1. AUTOSAR FlexRay 传输层架构 1.1 FlexRay AUTOSAR 传输层在AUTOSAR架构中的位置 AUTOSAR分层架构中,FlexRay AUTOSAR 传输层(FrArTp)位于通信抽象层,其上方是PDU路由器,下方是FlexRay接口。FrArTp的主要功能是实现FlexRay网络上的…...
【百日精通JAVA | SQL篇 | 第四篇】约束
SQL这一块没什么难度,主要是一个熟练度,稍微上点难度的地方,其实在于查,比较复杂,涉及到很多问题。 指定列插入 使用指定列插入的时候,未被指定的列使用默认值进行存储,默认值为空。 默认值设置…...
QEMU源码全解析 —— 块设备虚拟化(16)
接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(15) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 《KVM实战 —— 原理、进阶与性能调优》—— 任永杰 程舟,机械工业出版社...
实验:IS-IS认证。
一、IS-IS认证的定义与作用分析 IS-IS认证是什么? IS-IS(Intermediate System to Intermediate System)协议是用于自治系统内部的路由协议,其认证机制主要用于保障路由信息交换的安全性,包括邻居关系建立和…...
11-产品经理-创建产品
在“产品”-“仪表盘”内,可以查看系统中关于产品及相关需求的统计。 在“产品”-“产品列表”页面,可以按项目集、项目查看其关联产品。还可以添加产品、编辑产品线、或者导出产品列表。 产品看板,通过看板方式查看产品、产品计划和产品下的…...