• textfsm 案例分享


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

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

    1、首先看接口下的配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    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、配置模板

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

    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  #发现“!”后,记录以上匹配到的内容,并开始进行下一个查找。
    复制代码

     

  • 相关阅读:
    Kali Linux渗透测试高级篇 1-2 被动侦察
    Charles
    大厂标配 | 百亿级并发系统设计 | 学完薪资框框涨
    Set和Map及哈希表介绍
    MySQL——数据的删除以及MySQL中的约束
    尚硅谷设计模式学习(十)组合模式
    【一起学Rust】Rust学习前准备——注释和格式化输出
    【WINDOWS / DOS 批处理】if命令参数详解(二)
    探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty
    Java语法小知识+数据结构常见选择题型
  • 原文地址:https://www.cnblogs.com/niu525/p/18147922