HCIP BGP综合实验

题目
1、AS1存在两个环回,一个地址为192.168.1.0/24该地址不能在任何协议中宣告;
2、AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯;
3、AS间的骨干链路IP地址随意指定;
4、使用BGP协议让整个网络所有设备的环回可以互相访问;
5、减少路由条目数量,避免环路出现。
实验步骤
第一步、IP地址规划
网段划分如下
AS2在172.16.0.0/16网段划分
建邻居环回:
R2:172.16.0.2/32
R3:172.16.0.3/32
R4:172.16.0.4/32
R5:172.16.0.5/32
R6:172.16.0.6/32
R7:172.16.0.7/32
逻辑环回
R2:172.16.2.0/24
R3:172.16.3.0/24
R4:172.16.4.0/24
R5:172.16.5.0/24
R6:172.16.6.0/24
R7:172.16.7.0/24
骨干链路:
R2-R3:172.16.1.0/30
R3-R4:172.16.1.4/30
R2-R5:172.16.1.8/30
R4:R7:172.16.1.12/30
R5-R6:172.16.1.16/30
R6-R7:172.16.1.20/30
R1
题目要求环回:192.168.1.0/24
环回:1.1.1.0/24
R8
题目要求环回:192.168.2.0/24
环回:8.8.8.0/24
AS之间的骨干链路
R1-R2:12.1.1.0/30
R7-R8:78.1.1.0/30
设备接口IP地址如
| 设备 | 接口 | IP地址 | 
| R1 | G0/0/0 | 12.1.1.1/30 | 
| Lo0 | 1.1.1.1/24 | |
| Lo1 | 192.168.1.1/24 | |
| R2 | G0/0/0 | 12.1.1.2/30 | 
| G0/0/1 | 172.16.1.1/30 | |
| G0/0/2 | 172.16.1.9/30 | |
| Lo0 | 172.16.0.2/32 | |
| Lo1 | 172.16.2.1/24 | |
| R3 | G0/0/0 | 172.16.1.2/30 | 
| G0/0/1 | 172.16.1.5/30 | |
| Lo0 | 172.16.0.3/32 | |
| Lo1 | 172.16.3.1/24 | |
| R4 | G0/0/0 | 172.16.1.6/30 | 
| G0/0/1 | 172.16.1.13/30 | |
| Lo0 | 172.16.0.4/32 | |
| Lo1 | 172.16.4.1/32 | |
| R5 | G0/0/0 | 172.16.1.10/30 | 
| G0/0/1 | 172.16.1.17/30 | |
| Lo0 | 172.16.0.5/32 | |
| Lo1 | 172.16.5.1/24 | |
| R6 | G0/0/0 | 172.16.1.18/30 | 
| G0/0/1 | 172.16.1.21/30 | |
| Lo0 | 172.16.0.6/32 | |
| Lo1 | 172.16.6.1/24 | |
| R7 | G0/0/0 | 172.16.1.22/30 | 
| G0/0/1 | 172.16.1.14/30 | |
| G0/0/2 | 78.1.1.7/30 | |
| Lo0 | 172.16.0.7/32 | |
| Lo1 | 172.16.7.1/30 | |
| R8 | G0/0/0 | 78.1.1.1.8/30 | 
| Lo0 | 8.8.8.8/24 | |
| Lo1 | 192.168.2.1/24 | 

第二步、接口IP地址配置
R1
<Huawei>system-view 
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int lo0
[R1-LoopBack0]ip address 1.1.1.1 24
[R1-LoopBack0]int lo1
[R1-LoopBack1]ip address 192.168.1.1 24
R2
<Huawei>system-view 
[Huawei]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24 
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.1.1 30
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip address 172.16.1.9 30
[R2-GigabitEthernet0/0/2]int lo0
[R2-LoopBack0]ip address 172.16.0.2 32
[R2-LoopBack0]int lo1
[R2-LoopBack1]ip address 172.16.2.1 24
R3
<Huawei>system-view 
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 172.16.1.2 30
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip address 172.16.1.5 30
[R3-GigabitEthernet0/0/1]int lo0
[R3-LoopBack0]ip address 172.16.0.3 32
[R3-LoopBack0]in lo1
[R3-LoopBack1]ip address 172.16.3.1 24
R4
<Huawei>system-view 
[Huawei]sysname R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 172.16.1.6 30
[R4-GigabitEthernet0/0/0]in g0/0/1
[R4-GigabitEthernet0/0/1]ip address 172.16.1.13 30
[R4-GigabitEthernet0/0/1]int lo0
[R4-LoopBack0]ip address 172.16.0.4 32
[R4-LoopBack0]int lo1
[R4-LoopBack1]ip address 172.16.4.1 24
R5
<Huawei>system-view 
[Huawei]sysname R5
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip address 172.16.1.10 30
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip address 172.16.1.17 30
[R5-GigabitEthernet0/0/1]int lo0
[R5-LoopBack0]ip address 172.16.0.5 32
[R5-LoopBack0]int lo1   
[R5-LoopBack1]ip address 172.16.5.1 24
R6
<Huawei>system-view 
[Huawei]sysname R6
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip address 172.16.1.18 30
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip address 172.16.1.21 30
[R6-GigabitEthernet0/0/1]int g0/0/1
[R6-GigabitEthernet0/0/1]int lo0    
[R6-LoopBack0]ip address 172.16.0.6 32
[R6-LoopBack0]int lo1
[R6-LoopBack1]ip address 172.16.6.1 24
R7
<Huawei>system-view 
[Huawei]sysname R7
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip address 172.16.1.22 30 
[R7-GigabitEthernet0/0/0]in g0/0/1
[R7-GigabitEthernet0/0/1]ip address 172.16.1.14 30
[R7-GigabitEthernet0/0/1]int g0/0/2
[R7-GigabitEthernet0/0/2]ip address 78.1.1.7 24
[R7-GigabitEthernet0/0/2]int lo0
[R7-LoopBack0]ip address 172.16.0.7 32
[R7-LoopBack0]int lo1
[R7-LoopBack1]ip address 172.16.7.1 24
R8
<Huawei>system-view 
[Huawei]sysname R8
[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip address 78.1.1.8 24
[R8-GigabitEthernet0/0/0]int lo0
[R8-LoopBack0]ip address 8.8.8.8 24
[R8-LoopBack0]int lo1              
[R8-LoopBack1]ip address 192.168.2.1 24
第三步、写静态路由
R1-R2
[R1]ip route-static 172.16.0.2 32 12.1.1.2
[R2]ip route-static 1.1.1.1 32 12.1.1.1 R7-R8
[R7]ip route-static 8.8.8.8 32 78.1.1.8  
[R8]ip route-static 172.16.0.7 32 78.1.1.7第四步、AS 200启用IBGP
IBGP使用的是OSPF
R2
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.255.255  
R3
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.255.255
R4
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 172.16.4.0 0.0.255.255
R5
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 172.16.5.0 0.0.255.255
R6
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 172.16.6.0 0.0.255.255
R7
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 172.16.7.0 0.0.255.255
第五步、修改环回接口OSPF网络类型
因为环回接口在OSPF宣告默认类型为p2mp,其他路由器学习到网段就为32位掩码,所以这里需要修改环回接口OSPF网络类型为broadcast。
先查看其他路由器通过OSPF学到其他网段的环回网段位32位

#R2
[R2]int lo1
[R2-LoopBack1]ospf network-type broadcast 
#R3
[R3]int lo1
[R3-LoopBack1]ospf network-type broadcast 
#R4
[R4]int lo1
[R4-LoopBack1]ospf network-type broadcast 
#R5
[R5]int lo1
[R5-LoopBack1]ospf network-type broadcast 
#R6
[R6]int lo1
[R6-LoopBack1]ospf network-type broadcast 
#R7
[R7]int lo1
[R7-LoopBack1]ospf network-type broadcast 修改后再进行查看,学习到的就是那个网段了

第六步、启动BGP建邻
在建邻居的时候同时修改本地路由器传递,便于后期路由传递变优。
R1
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1 
[R1-bgp]peer 12.1.1.2 as-number 200
R2
R2]bgp 64512
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation id 200
[R2-bgp]peer 12.1.1.1 as-number 100          
[R2-bgp]peer 172.16.0.3 as-number 64512 
[R2-bgp]peer 172.16.0.3 connect-interface lo0
[R2-bgp]peer 172.16.0.3 next-hop-local 
[R2-bgp]confederation peer-as 64513
[R2-bgp]peer 172.16.0.5 as-number 64513           
[R2-bgp]peer 172.16.0.5 connect-interface lo0               
[R2-bgp]peer 172.16.0.5 ebgp-max-hop 2             

R3
[R3]bgp 64512
[R3-bgp]router-id 3.3.3.3
[R3-bgp]confederation id 200
[R3-bgp]peer 172.16.0.2 as-number 64512         
[R3-bgp]peer 172.16.0.2 connect-interface lo0
[R3-bgp]peer 172.16.0.2 next-hop-local
[R3-bgp]peer 172.16.0.4 as-number 64512      
[R3-bgp]peer 172.16.0.4 connect-interface lo0
[R3-bgp]peer 172.16.0.4 next-hop-local
R4
[R4]bgp 64512
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 200
[R4-bgp]peer 172.16.0.3 as-number 64512
[R4-bgp]peer 172.16.0.3 connect-interface lo0
[R4-bgp]peer 172.16.0.3 next-hop-local
[R4-bgp]confederation peer-as 64513
[R4-bgp]peer 172.16.0.7 as-number 64513
[R4-bgp]peer 172.16.0.7 connect-interface lo0
[R4-bgp]peer 172.16.0.7 ebgp-max-hop 2
R5
[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 200
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 172.16.0.2 as-number 64512          
[R5-bgp]peer 172.16.0.2 connect-interface lo0                 
[R5-bgp]peer 172.16.0.2 ebgp-max-hop 2
[R5-bgp]peer 172.16.0.6 as-number 64513        
[R5-bgp]peer 172.16.0.6 connect-interface lo0
[R5-bgp]peer 172.16.0.6 next-hop-local
R6
[R6]bgp 64513 
[R6-bgp]router-id 6.6.6.6 
[R6-bgp]confederation id 200
[R6-bgp]peer 172.16.0.5 as-number 64513         
[R6-bgp]peer 172.16.0.5 connect-interface lo0
[R6-bgp]peer 172.16.0.5 next-hop-local
[R6-bgp]peer 172.16.0.7 as-number 64513
[R6-bgp]peer 172.16.0.7 connect-interface lo0
[R6-bgp]peer 172.16.0.7 next-hop-local
R7
[R7]bgp 64513
[R7-bgp]router-id 7.7.7.7
[R7-bgp]confederation id 200       
[R7-bgp]peer 78.1.1.8 as-number 300
[R7-bgp]peer 172.16.0.6 as-number 64513
[R7-bgp]peer 172.16.0.6 connect-interface lo0
[R7-bgp]peer 172.16.0.6 next-hop-local
[R7-bgp]confederation peer-as 64512     
[R7-bgp]peer 172.16.0.4 as-number 64512          
[R7-bgp]peer 172.16.0.4 connect-interface lo0                  
[R7-bgp]peer 172.16.0.4 ebgp-max-hop 2
R8
[R8]bgp 300
[R8-bgp]router-id 8.8.8.8
[R8-bgp]peer 78.1.1.7 as-number 200
第七步、BGP宣告
R1上进行宣告1.1.1.0/24
[R1]bgp 100
[R1-bgp]network 1.1.1.0 24然后进行查看在R3上面进行查看,发现R3是学到这条路由了。

再去R4上面查看,发现没有学习到这条路由。

那么我们就需要使用反射器来满足要求,为反射器指定一个客户端,因为两个非客户端是不会进行传递路由,只有非->客、客->客;还有就是在ebgp和ibgp之间会进行传递。
选用一个路由器作为反射器,我这里是指定的R3为反射器,R1为客户端。
[R3]bgp 64512
[R3-bgp]peer 172.16.0.2 reflect-client 再去R4上面查看,以及收到这条路由。

在去R8上面看也可以看见这条路由,因为到R4会用过EBGP传递给R7,R7在由EBGP关系传给R8。

R8上进行宣告8.8.8.0/24网段
也是同样的需要用到一个反射器指定R7为客户端,不然R5也会没有8.8.8.0/24这个网段
[R6]bgp 64513
[R6-bgp]peer 172.16.0.7 reflect-client在R5上面进行查看

在R1上面进行查看

在AS200 进行宣告
AS200汇总指向空接口, 然后再对网段进行BGP宣告。这样便于其他路由器也只会有一条路由。
R2
[R2]ip route-static 172.16.0.0 21 NULL 0
[R2]bgp 64512                           
[R2-bgp]network 172.16.0.0 21           去R1和R8上面查看,只学到一条路由,这样也减少了路由条目


为了不在R2上面找到空接口才把黑洞路由丢掉,我们在R7上面也进行一个同样的操作,这样也可以避免造成AS内部的资源消耗。
R7
[R7]ip route-static 172.16.0.0 21 NULL 0
[R7]bgp 64513
[R7-bgp]network 172.16.0.0 21 第八步、建立隧道
让192.168.1.0 和 192.168.2.0这两个网段不能宣告,但是又能互相访问,可以采用Tunnel隧道来解决,因为我们的物理线路以实现全网可达,然后通过静态路由指向对方网段,把下一跳扔进隧道里面。
R1
[R1]int t0/0/0   
[R1-Tunnel0/0/0]ip address 10.1.1.1 24
[R1-Tunnel0/0/0]tunnel-protocol gre 
[R1-Tunnel0/0/0]source 1.1.1.1 
[R1-Tunnel0/0/0]destination 8.8.8.8
[R1-Tunnel0/0/0]q
[R1]ip route-static 192.168.2.0 24 Tunnel 0/0/0
R8
[R8]int t0/0/0   
[R8-Tunnel0/0/0]ip address 10.1.1.2 24
[R8-Tunnel0/0/0]tunnel-protocol gre 
[R8-Tunnel0/0/0]source 8.8.8.8 
[R8-Tunnel0/0/0]destination 1.1.1.1
[R8-Tunnel0/0/0]q
[R8]ip route-static 192.168.1.0 24 Tunnel 0/0/0进行一个测试:


第九步、测试

 
 
测试是实现各环回可以互相访问。
相关文章:
 
HCIP BGP综合实验
题目 1、AS1存在两个环回,一个地址为192.168.1.0/24该地址不能在任何协议中宣告; 2、AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯; 3、AS间的骨干链路I…...
 
【mysql学习篇】Order by与Group by优化以及排序算法详解
一、Order by与Group by优化 Case1: 分析: 利用最左前缀法则:中间字段不能断,因此查询用到了name索引,从key_len74也能看出,age索引列用在排序过程中,因为Extra字段里没有using filesort 注意…...
 
【业务功能篇60】Springboot + Spring Security 权限管理 【终篇】
4.4.7 权限校验扩展 4.4.7.1 PreAuthorize注解中的其他方法 hasAuthority:检查调用者是否具有指定的权限; RequestMapping("/hello")PreAuthorize("hasAuthority(system:user:list)")public String hello(){return "hello Sp…...
 
文章详情页 - 评论功能的实现
目录 1. 准备工作 1.1 创建评论表 1.2 创建评论实体类 1.3 创建 mapper 层评论接口和对应的 xml 实现 1.4 准备评论的 service 层 1.5 准备评论的 controller 层 2. 总的初始化详情页 2.1 加载评论列表 2.1.1 实现前端代码 2.1.2 实现后端代码 2.2 查询当前登录用户的…...
 
使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
 
Day 69-70:矩阵分解
代码: package dl;import java.io.*; import java.util.Random;/** Matrix factorization for recommender systems.*/public class MatrixFactorization {/*** Used to generate random numbers.*/Random rand new Random();/*** Number of users.*/int numUsers…...
 
数据结构:树的存储结构
学习树之前,我们已经了解了二叉树的顺序存储和链式存储,哪么我们如何来存储普通型的树结构的数据?如下图1: 如图1所示,这是一颗普通的树,我们要如何来存储呢?通常,存储这种树结构的数…...
 
Vue前端渲染blob二进制对象图片的方法
近期做开发,联调接口。接口返回的是一张图片,是对二进制图片处理并渲染,特此记录一下。 本文章是转载文章,原文章:Vue前端处理blob二进制对象图片的方法 接口response是下图 显然,获取到的是一堆乱码&…...
 
Java的标记接口(Marker Interface)
Java中的标记接口(Marker Interface)是一个空接口,接口内什么也没有定义。它标识了一种能力,标识继承自该接口的接口、实现了此接口的类具有某种能力。 例如,jdk的com.sun.org.apache.xalan.internal.xsltc.trax.Temp…...
 
Kafka基础架构与核心概念
Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者,性能特点主要是…...
 
观察者模式与观察者模式实例EventBus
什么是观察者模式 顾名思义,观察者模式就是在多个对象之间,定义一个一对多的依赖,当一个对象状态改变时,所有依赖这个对象的对象都会自动收到通知。 观察者模式也称为发布订阅模式(Publish-Subscribe Design Pattern)࿰…...
 
科普 | OSI模型
本文简要地介绍 OSI 模型 1’ 2’ 3。 更新:2023 / 7 / 23 科普 | OSI模型 术语节点链路协议网络拓扑 概念作用结构应用层表示层会话层传输层网络层数据链路层物理层 数据如何流动OSI 和TCP/IP 的对应关系和协议参考链接 术语 节点 节点( Node &#…...
redis相关异常之RedisConnectionExceptionRedisCommandTimeoutException
本文只是分析Letture类型的Redis 池化连接出现的连接超时异常、读超时异常问题。 1.RedisConnectionException 默认是10秒。 通过如下可以配置: public class MyLettuceClientConfigurationBuilderCustomizer implements LettuceClientConfigurationBuilderCusto…...
 
Merge the squares! 2023牛客暑期多校训练营4-H
登录—专业IT笔试面试备考平台_牛客网 题目大意:有n*n个边长为1的小正方形摆放在边长为n的大正方形中,每次可以选择不超过50个正方形,将其合并为一个更大的正方形,求一种可行的操作使所有小正方形都被合并成一个n*n的大正方形 1…...
 
STM32 串口学习(二)
要用跳线帽将PA9与RXD相连,PA10与TXD相连。 软件设计 void uart_init(u32 baud) {//UART 初始化设置UART1_Handler.InstanceUSART1; //USART1UART1_Handler.Init.BaudRatebound; //波特率UART1_Handler.Init.WordLengthUART_WORDLENGTH_8B; //字长为 8 位数据格式U…...
 
点大商城V2_2.5.0 全开源版 商家自营+多商户入驻 百度+支付宝+QQ+头条+小程序端+unipp开源前端安装测试教程
安装测试环境:Nginx 1.20PHP7.2MySQL 5.6 修复了无法上传开放平台问题 安装说明: 1、上传后端目录至网站 2、导入提供的数据库文件 3、修改数据库配置文件根目录下config.php,增加数据库用户名和密码 4、网站后台直接访问网址ÿ…...
“深入理解SpringBoot:从入门到精通“
标题:深入理解Spring Boot:从入门到精通 摘要:本文将介绍Spring Boot的基本概念和核心特性,并通过示例代码演示如何使用Spring Boot构建一个简单的Web应用程序。 1. 简介 Spring Boot是一个开源的Java框架,旨在简化基…...
 
PCB绘制时踩的坑 - SOT-223封装
SOT-223封装并不是同一的,细分的话可以分为两种常用的封装。尤其是tab脚的属性很容易搞错。如果你想着用tab脚连接有属性的铺铜,来提高散热效率,那么你一定要注意你购买的器件tab脚的属性。 第一种如下图,第1脚为GND,第…...
 
Go语法入门 + 项目实战
👂 Take me Hand Acoustic - Ccile Corbel - 单曲 - 网易云音乐 第3个小项目有问题,不能在Windows下跑,懒得去搜Linux上怎么跑了,已经落下进度了.... 目录 😳前言 🍉Go两小时 🔑小项目实战 …...
 
QT控件通过qss设置子控件的对齐方式、大小自适应等
一些复杂控件,是有子控件的,每个子控件,都可以通过qss的双冒号选择器来选中,进行独特的样式定义。很多控件都有子控件,太多了,后面单独写一篇文章来介绍各个控件的子控件。这里就随便来几个例子 例如下拉列…...
 
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
 
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
 
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
 
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
 
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
 
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
 
【技巧】dify前端源代码修改第一弹-增加tab页
回到目录 【技巧】dify前端源代码修改第一弹-增加tab页 尝试修改dify的前端源代码,在知识库增加一个tab页"HELLO WORLD",完成后的效果如下 [gif01] 1. 前端代码进入调试模式 参考 【部署】win10的wsl环境下启动dify的web前端服务 启动调试…...
 
【Qt】控件 QWidget
控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态:enabled几何:geometrywindows frame 窗口框架的影响 窗口标题:windowTitle窗口图标:windowIconqrc 机制 窗口不透明度:windowOpacity光标:cursor…...
