HCIP-BGP实验4
搭建实验拓扑图

要求
1.全网可达
2.isp只能配置IP地址
实验开始
配置IP地址及环回
r1,r2,r9,r10配ipv4地址(以r1为例)
[Huawei]sysname r1
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[r1-GigabitEthernet0/0/0]q
[r1]interface LoopBack 0
[r1-LoopBack0]ip address 1.1.1.1 32
OSPF
r1
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
r2
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]q
[r2-ospf-1]q
[r2]ip route-static 0.0.0.0 0 29.1.1.2
[r2]ospf 1
[r2-ospf-1]default-route-advertise
[r2-ospf-1]q
[r2]acl 2000
[r2-acl-basic-2000]rule permit source any
[r2-acl-basic-2000]q
[r2]interface g0/0/1
[r2-GigabitEthernet0/0/1]nat outbound 2000
r10
[r10]ip route-static 0.0.0.0 0 91.1.1.1
在r10上ping 9.9.9.9
在r1上同样可以ping通

r1配ipv6地址
[r1]ipv6
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 enable
[r1-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101::1/50
[r1-GigabitEthernet0/0/0]q
[r1]interface LoopBack 0
[r1-LoopBack0]ipv6 enable
[r1-LoopBack0]ipv6 address 1::1/64
r2
[r2]ipv6
[r2]interface g0/0/0
[r2-GigabitEthernet0/0/0]ipv6 enable
[r2-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101::2/50
[r2-GigabitEthernet0/0/0]q
[r2]interface LoopBack 0
[r2-LoopBack0]ipv6 enable
[r2-LoopBack0]ipv6 address 2::2/64
r10
[r10]ipv6
[r10]interface g0/0/1
[r10-GigabitEthernet0/0/1]ipv6 enable
[r10-GigabitEthernet0/0/1]ipv6 address 2002:5b01:0102::1/50
[r10-GigabitEthernet0/0/1]q
[r10]interface LoopBack 0
[r10-LoopBack0]ipv6 enable
[r10-LoopBack0]ipv6 address 10::10/64
r11
[r11]ipv6
[r11]interface g0/0/0
[r11-GigabitEthernet0/0/0]ipv6 enable
[r11-GigabitEthernet0/0/0]ipv6 address 2002:5b01:0102::2/50
[r11-GigabitEthernet0/0/0]q
[r11]interface LoopBack 0
[r11-LoopBack0]ipv6 enable
[r11-LoopBack0]ipv6 address 11::11/64
在r2上ping 一下
在r11上ping一下

做隧道
r2
[r2]interface Tunnel 0/0/0
[r2-Tunnel0/0/0]ipv6 enable
[r2-Tunnel0/0/0]ipv6 address 2002:1d01:0101:4000::1/50
r10
[r10]interface Tunnel 0/0/0
[r10-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r10-Tunnel0/0/0]source g0/0/0
[r10-Tunnel0/0/0]ipv6 enable
[r10-Tunnel0/0/0]ipv6 address 2002:5b01:0102:4000::1/50
做引流
r1
[r1]ipv6 route-static :: 0 2002:1d01:0101::2
r2
[r2]ipv6 route-static :: 0 Tunnel 0/0/0
r10
[r10]ipv6 route-static :: 0 Tunnel 0/0/0
[r10]interface g0/0/1
[r10-GigabitEthernet0/0/1]ripng default-route originate
RIP
r10
[r10]ripng 1
[r10-ripng-1]q
[r10]interface g0/0/1
[r10-GigabitEthernet0/0/1]ripng 1 enable
[r10-GigabitEthernet0/0/1]q
[r10]interface LoopBack 0
[r10-LoopBack0]ripng 1 enable
r11
[r11]ripng 1
[r11-ripng-1]q
[r11]interface LoopBack 0
[r11-LoopBack0]ripng 1 enable
[r11-LoopBack0]q
[r11]interface g0/0/0
[r11-GigabitEthernet0/0/0]ripng 1 enable
在r10宣告隧道
[r10]interface Tunnel 0/0/0
[r10-Tunnel0/0/0]ripng 1 enable
查看缺省
在r2上测试隧道是否通

在r1上ping r2的环回

在r2上写指向r1的静态路由
[r2]ipv6 route-static 1::1 64 2002:1D01:101::1
此时在r2上ping r1的环回

在r1上ping ,并不通

解决
由于地址划分有问题,修改如下
r10
[r10]interface LoopBack 0
[r10-LoopBack0]undo ipv6 address
[r10-LoopBack0]ipv6 address 2002:5b01:0102:8000::1/50
[r10-LoopBack0]ripng 1 enable
在ping一次
继续配置ipv6地址及环回地址
r3
[r3]ipv6
[r3]interface g0/0/0
[r3-GigabitEthernet0/0/0]ipv6 enable
[r3-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:4::2/64
[r3-GigabitEthernet0/0/0]q
[r3]interface LoopBack 0
[r3-LoopBack0]ipv6 enable
[r3-LoopBack0]ipv6 address 3::3/64
[r3-LoopBack0]q
[r3]interface g0/0/1
[r3-GigabitEthernet0/0/1]ipv6 enable
[r3-GigabitEthernet0/0/1]ipv6 address 2002:1d01:0101:5::1/64
r4
[r4]ipv6
[r4]interface g0/0/0
[r4-GigabitEthernet0/0/0]ipv6
[r4]interface g0/0/0
[r4-GigabitEthernet0/0/0]ipv6 enable
[r4-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:5::2/64
[r4-GigabitEthernet0/0/0]q
[r4]interface LoopBack 0
[r4-LoopBack0]ipv6 enable
[r4-LoopBack0]ipv6 address 4::4/64
[r4-LoopBack0]q
[r4]interface g0/0/1
[r4-GigabitEthernet0/0/1]ipv6 enable
[r4-GigabitEthernet0/0/1]ipv6 address 2002:1d01:0101:6::1/64
r5
[r5]interface LoopBack 0
[r5-LoopBack0]ipv6 enable
[r5-LoopBack0]ipv6 address 5::5/64
[r5-LoopBack0]q
[r5]interface g0/0/0
[r5-GigabitEthernet0/0/0]ipv6 enable
[r5-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:6::2/64
[r5-GigabitEthernet0/0/0]q
[r5]interface g0/0/1
[r5-GigabitEthernet0/0/1]ipv6 enable
[r5-GigabitEthernet0/0/1]ipv6 address 2002:1d01:0101:7::1/64
r6
[r6]interface g0/0/0
[r6-GigabitEthernet0/0/0]ipv6 enable
[r6-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:7::2/64
[r6-GigabitEthernet0/0/0]q
[r6]interface LoopBack 0
[r6-LoopBack0]ipv6 enable
[r6-LoopBack0]ipv6 address 6::6/64
[r6-LoopBack0]q
[r6]interface g0/0/1
[r6-GigabitEthernet0/0/1]ipv6 enable
[r6-GigabitEthernet0/0/1]ipv6 address 2002:1d01:0101:8::1/64
r7
[r7]ipv6
[r7]interface LoopBack 0
[r7-LoopBack0]ipv6 enable
[r7-LoopBack0]ipv6 address 7::7/64
[r7-LoopBack0]q
[r7]interface g0/0/0
[r7-GigabitEthernet0/0/0]ipv6 enable
[r7-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:8::2/64
[r7-GigabitEthernet0/0/0]q
[r7]interface g0/0/1
[r7-GigabitEthernet0/0/1]ipv6 enable
[r7-GigabitEthernet0/0/1]ipv6 address 2002:1d01:0101:9::1/64
r8
[r8]ipv6
[r8]interface LoopBack 0
[r8-LoopBack0]ipv6 enable
[r8-LoopBack0]ipv6 address 8::8/64
[r8-LoopBack0]q
[r8]interface g0/0/0
[r8-GigabitEthernet0/0/0]ipv6 enable
[r8-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101:9::2/64
OSPF
r3
[r3]ospfv3 1
[r3-ospfv3-1]router-id 3.3.3.3
[r3-ospfv3-1]q
[r3]interface g0/0/1
[r3-GigabitEthernet0/0/1]ospfv3 1 area 0
[r3-GigabitEthernet0/0/1]q
[r3]interface LoopBack 0
[r3-LoopBack0]ospfv3 1 area 0
r4
[r4]ospfv3 1
[r4-ospfv3-1]router-id 4.4.4.4
[r4-ospfv3-1]q
[r4]interface LoopBack 0
[r4-LoopBack0]ospfv3 1 area 0
[r4-LoopBack0]q
[r4]interface g0/0/0
[r4-GigabitEthernet0/0/0]ospfv3 1 area 0
[r4-GigabitEthernet0/0/0]q
[r4]interface g0/0/1
[r4-GigabitEthernet0/0/1]ospfv3 1 area 0
r5
[r5]ospfv3 1
[r5-ospfv3-1]router-id 5.5.5.5
[r5-ospfv3-1]q
[r5]interface LoopBack 0
[r5-LoopBack0]ospfv3 1 area 0
[r5-LoopBack0]q
[r5]interface g0/0/0
[r5-GigabitEthernet0/0/0]ospfv3 1 area 0
[r5-GigabitEthernet0/0/0]q
[r5]interface g0/0/1
[r5-GigabitEthernet0/0/1]ospfv3 1 area 0
r6
[r6]ospfv3 1
[r6-ospfv3-1]router-id 6.6.6.6
[r6-ospfv3-1]q
[r6]interface g0/0/0
[r6-GigabitEthernet0/0/0]ospfv3 1 area 0
[r6-GigabitEthernet0/0/0]q
[r6]interface LoopBack 0
[r6-LoopBack0]ospfv3 1 area 0
RIP
r7
[r7]ripng 1
[r7-ripng-1]q
[r7]interface g0/0/1
[r7-GigabitEthernet0/0/1]ripng 1 enable
[r7-GigabitEthernet0/0/1]q
[r7]interface LoopBack 0
[r7-LoopBack0]ripng 1 enable
r8
[r8]ripng 1
[r8-ripng-1]q
[r8]interface LoopBack 0
[r8-LoopBack0]ripng 1 enable
[r8-LoopBack0]q
[r8]interface g0/0/0
[r8-GigabitEthernet0/0/0]ripng 1 enable
在r8上ping

建立BGP
r3
[r3]bgp 64512
[r3-bgp]confederation id 100
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 4::4 as-number 64512
[r3-bgp]peer 4::4 connect-interface lo 0
[r3-bgp]ipv6-family
[r3-bgp-af-ipv6]peer 4::4 enable
r4
[r4]bgp 64512
[r4-bgp]confederation id 100
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 3::3 as-number 64512
[r4-bgp]peer 3::3 connect-interface lo 0
[r4-bgp]peer 5::5 as-number 64512
[r4-bgp]peer 5::5 connect-interface lo 0
[r4-bgp]ipv6-family
[r4-bgp-af-ipv6]peer 3::3 enable
[r4-bgp-af-ipv6]peer 3::3 reflect-client
[r4-bgp-af-ipv6]peer 5::5 enable
[r4-bgp-af-ipv6]peer 5::5 reflect-clien
r5
[r5]bgp 64512
[r5-bgp]confederation id 100
[r5-bgp]confederation peer-as 64513
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4::4 as-number 64512
[r5-bgp]peer 4::4 connect-interface lo 0
[r5-bgp]peer 6::6 as-number 64513
[r5-bgp]peer 6::6 connect-interface lo 0
[r5-bgp]peer 6::6 ebgp-max-hop
[r5-bgp]ipv6-family
[r5-bgp-af-ipv6]peer 4::4 enable
[r5-bgp-af-ipv6]peer 4::4 next-hop-local
[r5-bgp-af-ipv6]peer 6::6 enable
r6
[r6]bgp 64513
[r6-bgp]router-id 6.6.6.6
[r6-bgp]confederation id 100
[r6-bgp]confederation peer-as 64512
[r6-bgp]peer 5::5 as-number 64512
[r6-bgp]peer 5::5 connect-interface lo 0
[r6-bgp]peer 5::5 ebgp-max-hop
[r6-bgp]peer 2002:1D01:101:9::1 as-number 101
[r6-bgp]ipv6-family
[r6-bgp-af-ipv6]peer 5::5 enable
[r6-bgp-af-ipv6]peer 2002:1D01:101:9::1 enable
[r6-bgp]peer 2002:1D01:101:8::2 as-number 101
[r6-bgp]ipv6-family
[r6-bgp-af-ipv6]peer 2002:1D01:101:8::2 enable
r7
[r7]bgp 101
[r7-bgp]router-id 7.7.7.7
[r7-bgp]peer 2002:1D01:101:8::1 as-number 100
[r7-bgp]peer 8::8 as-number 101
[r7-bgp]peer 8::8 connect-interface lo 0
[r7-bgp]ipv6-family
[r7-bgp-af-ipv6]peer 8::8 enable
[r7-bgp-af-ipv6]peer 8::8 next-hop-local
[r7-bgp-af-ipv6]peer 2002:1D01:101:8::1 enable
r8
[r8]bgp 101
[r8-bgp]router-id 8.8.8.8
[r8-bgp]peer 7::7 as-number 101
[r8-bgp]peer 7::7 connect-interface lo 0
[r8-bgp]ipv6-family
[r8-bgp-af-ipv6]peer 7::7 enable
重发布
r7
[r7-bgp]ipv6-family
[r7-bgp-af-ipv6]import-route ripng 1
r6
[r6-bgp]ipv6-family
[r6-bgp-af-ipv6]import-route ospfv3 1
以上就是基本操作了
相关文章:
HCIP-BGP实验4
搭建实验拓扑图 要求 1.全网可达 2.isp只能配置IP地址 实验开始 配置IP地址及环回 r1,r2,r9,r10配ipv4地址(以r1为例) [Huawei]sysname r1 [r1]interface g0/0/0 [r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24 [r1-GigabitEthernet0/0/0]q [r1]interface LoopBack 0…...
数据挖掘笔记1
课程:清华大学-数据挖掘:理论与算法(国家级精品课)_哔哩哔哩_bilibili 一、Learning Resources 二、Data 数据是最底层的一种表现形式。数据具有连续性。从存储上来讲,数据分为逻辑上的和物理层的。大数据࿱…...
Spring RabbitMQ那些事(3-消息可靠传输和订阅)
目录 一、序言二、生产者确保消息发送成功1、为什么需要Publisher Confirms2、哪些消息会被确认处理成功 三、消费者保证消息被处理四、Spring RabbitMQ支持代码示例1、 application.yml2、RabbigtMQ配置3、可靠生产者配置4、可靠消费者配置5、测试用例 一、序言 在有些业务场…...
揭秘 Kafka 高性能之谜:一文读懂背后的设计精粹与技术实现
Kafka在性能方面有着显著的优势,这也使得Kafka的应用非常广泛,那kakfa的性能为何如此优异呢?本文将带你探寻kafka高性能之谜。 kafka的高性能概括起来有如下几点:顺序写入磁盘与I/O优化、批量处理、页缓存、零拷贝技术、分区并行处…...
canvas绘制美国国旗(USA Flag)
查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…...
Python中的`__all__`魔法函数使用详解
概要 Python是一门灵活而强大的编程语言,提供了各种机制来控制模块的导入和访问。其中,__all__魔法函数是一种用于限制模块导入的机制,可以明确指定哪些变量、函数或类可以被导入。本文将深入探讨__all__的作用、用法以及示例,以…...
Studio One 6 mac 6.5.2 激活版 数字音乐编曲创作
PreSonus Studio One是PreSonus出品的一款功能强大的音乐创作软件。主要为用户提供音乐创作、录音、编辑、制作等功能。它可以让你创造音乐,无限的轨道,无限的MIDI和乐器轨道,虚拟乐器和效果通道,这些都是强大和完美的。 软件下载…...
GitHub图床TyporaPicGo相关配置
本文作者: slience_me 文章目录 GitHub图床&Typora&PicGo相关配置1. Github配置2. picGo配置3. Typora配置 GitHub图床&Typora&PicGo相关配置 关于Typora旧版的百度网盘下载路径 链接:https://pan.baidu.com/s/12mq-dMqWnRRoreGo4MTbKg?…...
FireAlpaca:轻量级、免费的Mac/Win绘图软件,让你的创意如火燃烧!
FireAlpaca是一款轻量级、免费的绘图软件,适用于Mac和Win系统,让你的创作过程更加快捷、简便。无论是绘制漫画、插图、设计作品还是进行简单的图片编辑,FireAlpaca都能满足你的需求。 首先,FireAlpaca具有直观友好的用户界面&…...
用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!
经常杂乱无章的文件夹会让我们找不到所想要的文件,因此小编特意制作了一个可视化GUI界面,通过输入路径一键点击实现文件分门别类的归档。 不同的文件后缀归类为不同的类别 我们先罗列一下大致有几类文件,根据文件的后缀来设定,大…...
【STM32】USB程序烧录需要重新上电 软件复位方法
文章目录 一、问题二、解决思路2.1 直接插拔USB2.2 给芯片复位 三、解决方法3.1 别人的解决方法3.2 在下载界面进行设置 一、问题 最近学习STM32的USB功能,主要是想要使用虚拟串口功能(VCP),发现每次烧录之后都需要重新上电才可以…...
Java数据结构与算法:图算法之深度优先搜索(DFS)
Java数据结构与算法:图算法之深度优先搜索(DFS) 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,一个热爱编程的程序猿。今天,让我们一起探索图算法中的深度优先搜索(DFS&…...
SpringBoot整合QQ邮箱发送验证码
一、QQ开启SMTP 打开QQ邮箱,点击设置,进入账号,往下滑后,看见服务状态后,点击管理服务 进入管理服务后,打开服务,然后获取授权码 二 、导入依赖 <!-- 邮箱--><dependency>&…...
云虚拟主机怎么修改代码?如何修改部署在虚拟主机的网站代码?
很多站长成功创建网站之后,或多或少都会对网站代码进行适当修改。比如boke112百科使用YIA主题后,也根据自己的需要进行了多个方面的小修改。 那么如果网站是部署在虚拟主机上的,那么应该如何修改这些网站代码呢?其实,…...
电脑加固态硬盘有什么好处
电脑加固态硬盘有很多好处,以下是一些主要的优点: 1. 启动速度更快:固态硬盘(SSD)的启动速度比传统机械硬盘(HDD)快得多。这是因为固态硬盘没有旋转部件,而传统硬盘的读写头需要不断…...
LabVIEW电火花线切割放电点位置
介绍了一个电火花线切割放电点位置分布评价系统,特别是在系统组成、硬件选择和LabVIEW软件应用方面。 本系统由两个主要部分组成:硬件和软件。硬件部分包括电流传感器、高速数据采集卡、开关电源、电阻和导线。软件部分则由LabVIEW编程环境构成…...
信通院发布《全球数字经济白皮书 (2023年)》解析
文章目录 前言一、白皮书目录二、白皮书核心观点(一)主要国家优化政策布局,数字经济政策导向更加明晰、体系更加完善(二) 数字经济加速构筑经济复苏关键支撑(三)全球数字经济多极化趋势进一步深化(四)数字经济重点领域发展成效显著三、白皮书的主要内容前言 当前,世…...
Spring5系列学习文章分享---第三篇(AOP概念+原理+动态代理+术语+Aspect+操作案例(注解与配置方式))
目录 AOP概念AOP底层原理AOP(JDK动态代理)使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象**编写** **JDK** 动态代理代码 AOP(术语)AOP操作(准备工作)**AOP** **操作(**AspectJ注解)**AOP** **操作(**AspectJ…...
BL0942 内置时钟免校准计量芯片 用于智能家居领域 上海贝岭 低成本 使用指南
BL0939是上海贝岭股份有限公司开发的一款用于智能家居领域进行电能测量的专用芯片,支持两路测量,可同时进行计量和漏电故障检测,漏电检测电流可设,响应时间快,具有体积小,外围电路简单,成本低廉…...
【算法专题】动态规划之路径问题
动态规划2.0 动态规划 - - - 路径问题1. 不同路径2. 不同路径Ⅱ3. 珠宝的最高价值4. 下降路径最小和5. 最小路径和6. 地下城游戏 动态规划 - - - 路径问题 1. 不同路径 题目链接 -> Leetcode -62.不同路径 Leetcode -62.不同路径 题目:一个机器人位于一个 m …...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
文件上传漏洞防御全攻略
要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...

