首页 > 其他分享 >textfsm 案例分享

textfsm 案例分享

时间:2024-04-20 17:33:57浏览次数:24  
标签:配置 authentication Value dot1x 案例 IntfaceName 接口 textfsm 分享

由于安全需要,需要定期对接入层交换机配置进行合规检查,避免不规范配置存在的漏洞给公司网络带来安全风险。

如下案例是通过textfsm 提取交换机接口的配置信息,进一步进行检查准入配置是否开启:

1、首先看接口下的配置

interface GigabitEthernet1/0/7
 description user_0001
 switchport access vlan 192
 switchport mode access
 authentication event server dead action reinitialize vlan 192
 authentication event server alive action reinitialize
 authentication port-control auto
 authentication periodic
 authentication timer reauthenticate server
 authentication timer restart 36000
 mab eap
 dot1x pae authenticator
 dot1x timeout tx-period 5
 dot1x max-req 1
 dot1x max-reauth-req 1
 spanning-tree portfast edge
!

 需要提取的信息已经用蓝色背景标注了,其中有接口名称,接口描述(可选),接口接入VLAN,接口模式,准入配置,端口生成树模式;其中接口名称,在交换机的配置文件中会有多种接口,比如vlan/vlanif,loopback,null 和链路聚合等情况,需要通过正则表达式的关键字进行过滤。

2、注意配置格式:

接口数据应该类似:{接口:(接口描述,接口接入VLAN,接口模式,准入配置,端口生成树模式)},向下查找的内容均属于该接口,直到发现有“!”。

重点在于提前记录这个接口,待查找完数据后,再进行下一个接口的数据匹配。

3、配置模板

    这个模板正常地开始提取数据的点是在检测到

IntfaceName加接口名称的行时,然后进入Interface状态进行具体属性的匹配和提取。在Start状态下使用变量${IntfaceName}正确地设置了进入Interface状态的条件。
 1 Value IntfaceName (\S+Ethernet+\S+)
 2 Value Interface_mode (\S+)
 3 Value VLAN_id (\d+)
 4 Value STPmode (\S+)
 5 Value Desc (\S+)
 6 Value dot1x_cfg (\S+)
 7 Value AdminState (shut+\S+)
 8 
 9 Start
10  ^interface ${IntfaceName} -> IntfaceName
11 
12 IntfaceName
13  ^\sdescription ${Desc} 
14  ^\sswitchport access vlan ${VLAN_id}
15  ^\sswitchport mode ${Interface_mode} 
16  ^\s+${AdminState}
17  ^\sdot1x pae ${dot1x_cfg} 
18  ^\sspanning-tree ${STPmode} 
19  ^! -> Record Start
20  #发现“!”后,记录以上匹配到的内容,并开始进行下一个查找。

 

标签:配置,authentication,Value,dot1x,案例,IntfaceName,接口,textfsm,分享
From: https://www.cnblogs.com/niu525/p/18147922

相关文章

  • DM 传统行业SQL优化案例
    来OB这么久还没有接触啥金融的SQL,只能发点其他行业的数据库SQL优化案例。......
  • HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例
    介绍本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据。效果图预览使用说明进入页面,下拉列表触发刷新数据事件,等待数据刷新完成。上滑列表到底部,触发加载更多数据事件,等待数据加载完成。实现思路使用第三方库pullToRefresh组件,将列......
  • Go语言高并发与微服务实战专题精讲——远程过程调用 RPC——实践案例:Go 语言 RPC 过程
    远程过程调用RPC——实践案例:Go语言RPC过程调用实践 Go语言的官方RPC库/net/rpc为开发者提供了实现远程过程调用的强大功能,使得通过网络访问对象的方法成为可能。这种机制极大地促进了分布式系统的构建,让不同的服务能够轻松地进行相互通信和协作。 在使用Go的RPC库时,服务......
  • HarmonyOS NEXT应用开发之深色跑马灯案例
    介绍本示例介绍了文本宽度过宽时,如何实现文本首尾相接循环滚动并显示在可视区,以及每循环滚动一次之后会停滞一段时间后再滚动。效果图预览使用说明:1.进入页面,检票口文本处,实现文本首尾相接循环滚动,且在同一可视区,滚动完成之后,停滞一段时间后继续滚动。实现思路由于ArkUI中......
  • HarmonyOS NEXT应用开发之异常处理案例
    介绍本示例介绍了通过应用事件打点hiAppEvent获取上一次应用异常信息的方法,主要分为应用崩溃、应用卡死以及系统查杀三种。效果图预览使用说明:点击构建应用崩溃事件,3s之后应用退出,然后打开应用进入应用异常页面,隔1min左右后,显示上次异常退出信息。点击构建应用卡死事件,需手......
  • day16_我的Java学习笔记 (Set、案例、Collections、Map、集合嵌套)
    1.Set系列集合1.1Set系列集系概述1.2HashSet元素无序的底层原理:哈希表JDK1.7HashSet原理解析:JDK1.8HashSet原理解析:1.3HashSet元素去重复的底层原理Set集合去重复的原因,先判断哈希值,再判断equals重写equals()和HashCode()方......
  • NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)
    SQL实践系列(2):更多模型使用以及工业级案例NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL进阶系列(1):DB-GPT-H......
  • GreatSQL 死锁案例分析
    1.背景概述客户业务发生死锁的报错,根据业务程序日志及业务流程,发现造成死锁的原因是:事务1delete+insert,事务2delete+insert2个事务交替执行导致的死锁;由于GAP锁阻塞了插入意向锁,并且当delete的数据存在时死锁不会发生,当delete的数据不存在时,会发生死锁。2.问题复现本......
  • 【专题】2024新能源及储能参与电力市场交易白皮书报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35958原文出处:拓端数据部落公众号2019至2023年,我国新能源市场化交易电量持续增长,2023年更是达到6,845亿千瓦时,占新能源发电总量的47.3%。同年,国家电网公司绿电结算电量跃升至576亿千瓦时,绿证交易也激增15倍,达到2,364万张。阅读原文,获取专题报告合......
  • java桥接模式案例
    桥接模式(BridgePattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。在桥接模式中,抽象类和它的实现类之间使用组合/聚合关系,而不是继承关系。这样,客户端代码可以针对抽象编程,而实现细节则可以在运行时动态地指定。场景:假设我们要设计一个图形绘制系统......