草庐IT

华为运营商级路由器配置示例 | EVdPdNd VPWS over SRv6 BE(CE双归双活)

组网需求如图1所示,CE2同时双归接入到PE2和PE3。要求CE1发往CE2的流量采用负载分担方式进行传输。为了实现上述需求,可以基于ESI粒度设置冗余模式,即,配置CE2接入PE的冗余模式为多活跃模式。图1 配置EVPNVPWSoverSRv6BE(CE双归双活)组网图配置思路使能PE各接口的IPv6转发能力,配置各接口的IPv6地址。在各PE上使能IS-IS,配置Level级别,指定网络实体。在PE设备上配置EVPNVPWS实例、EVPL实例。在PE设备之间建立BGPEVPN对等体关系。在PE设备上配置SRv6BE。在PE设备上配置将相应的EVPL实例绑定到接入侧子接口。在PE上配置基于E

华为运营商级路由器配置示例 | EVdPdNd VPWS over SRv6 BE(CE双归双活)

组网需求如图1所示,CE2同时双归接入到PE2和PE3。要求CE1发往CE2的流量采用负载分担方式进行传输。为了实现上述需求,可以基于ESI粒度设置冗余模式,即,配置CE2接入PE的冗余模式为多活跃模式。图1 配置EVPNVPWSoverSRv6BE(CE双归双活)组网图配置思路使能PE各接口的IPv6转发能力,配置各接口的IPv6地址。在各PE上使能IS-IS,配置Level级别,指定网络实体。在PE设备上配置EVPNVPWS实例、EVPL实例。在PE设备之间建立BGPEVPN对等体关系。在PE设备上配置SRv6BE。在PE设备上配置将相应的EVPL实例绑定到接入侧子接口。在PE上配置基于E

驱动开发:内核特征码扫描PE代码段

在笔者上一篇文章《驱动开发:内核特征码搜索函数封装》中为了定位特征的方便我们封装实现了一个可以传入数组实现的SearchSpecialCode定位函数,该定位函数其实还不能算的上简单,本章LyShark将对特征码定位进行简化,让定位变得更简单,并运用定位代码实现扫描内核PE的.text代码段,并从代码段中得到某个特征所在内存位置。老样子为了后续教程能够继续,先来定义一个lyshark.h头文件,该头文件中包含了我们本篇文章所必须要使用到的结构体定义,这些定义的函数如果不懂请去看LyShark以前的文章,这里就不罗嗦了。#include#includetypedefstruct_KLDR_DAT

驱动开发:内核特征码扫描PE代码段

在笔者上一篇文章《驱动开发:内核特征码搜索函数封装》中为了定位特征的方便我们封装实现了一个可以传入数组实现的SearchSpecialCode定位函数,该定位函数其实还不能算的上简单,本章LyShark将对特征码定位进行简化,让定位变得更简单,并运用定位代码实现扫描内核PE的.text代码段,并从代码段中得到某个特征所在内存位置。老样子为了后续教程能够继续,先来定义一个lyshark.h头文件,该头文件中包含了我们本篇文章所必须要使用到的结构体定义,这些定义的函数如果不懂请去看LyShark以前的文章,这里就不罗嗦了。#include#includetypedefstruct_KLDR_DAT

PE格式:分析IatHook并实现

Ring3层的IATHOOK和EATHOOK其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的InlineHook不太一样IATHook需要充分理解PE文件的结构才能完成Hook,接下来将具体分析IATHook的实现原理,并编写一个DLL注入文件,实现IATHook。在早些年系统中运行的都是DOS应用,所以DOS头结构就是在那个年代产生的,那时候还没有PE结构的概念,不过软件行业发展到今天DOS头部分的功能已经无意义了,但为了最大的兼容性微软还是保留了DOS文件头,有些软件在识别程序是不是可执行文件的时候通常会读取PE文件的前两个字节来判断是不是MZ。上图就是PE文件中的DO

PE格式:分析IatHook并实现

Ring3层的IATHOOK和EATHOOK其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的InlineHook不太一样IATHook需要充分理解PE文件的结构才能完成Hook,接下来将具体分析IATHook的实现原理,并编写一个DLL注入文件,实现IATHook。在早些年系统中运行的都是DOS应用,所以DOS头结构就是在那个年代产生的,那时候还没有PE结构的概念,不过软件行业发展到今天DOS头部分的功能已经无意义了,但为了最大的兼容性微软还是保留了DOS文件头,有些软件在识别程序是不是可执行文件的时候通常会读取PE文件的前两个字节来判断是不是MZ。上图就是PE文件中的DO

逆向基础知识-汇编和PE文件

汇编基础知识1.九个寄存器(32位)寄存器编号eax:累加器(accumulator),它是很多加法乘法指令的缺省寄存器。0ecx:计数器(counter),是重复(REP)前缀指令和LOOP指令的内定计数器。1edx:总是被用来放整数除法产生的余数。2ebx:"基地址"(base)寄存器,在内存寻址时存放基地址。3esp:存储堆栈的最顶端4EBP:是"基址指针",不是必须的5esi:6edi:变址寄存器,主要用于存放存储单元在段内的偏移量,作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。7eip:存储当前CPU马上要执行的指令寄存器32位可以拆分为两个1

逆向基础知识-汇编和PE文件

汇编基础知识1.九个寄存器(32位)寄存器编号eax:累加器(accumulator),它是很多加法乘法指令的缺省寄存器。0ecx:计数器(counter),是重复(REP)前缀指令和LOOP指令的内定计数器。1edx:总是被用来放整数除法产生的余数。2ebx:"基地址"(base)寄存器,在内存寻址时存放基地址。3esp:存储堆栈的最顶端4EBP:是"基址指针",不是必须的5esi:6edi:变址寄存器,主要用于存放存储单元在段内的偏移量,作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。7eip:存储当前CPU马上要执行的指令寄存器32位可以拆分为两个1