首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python netmiko:如何使用'show version‘命令中的'Cisco IOS Software’打印出特定的行匹配?

使用Python的netmiko库可以通过以下步骤实现在'show version'命令输出中匹配特定行的功能:

  1. 导入所需的库和模块:
代码语言:txt
复制
from netmiko import ConnectHandler
import re
  1. 创建一个包含设备连接信息的字典:
代码语言:txt
复制
device = {
    'device_type': 'cisco_ios',
    'ip': '设备IP地址',
    'username': '用户名',
    'password': '密码',
    'secret': '特权模式密码'
}
  1. 使用ConnectHandler连接到设备:
代码语言:txt
复制
connection = ConnectHandler(**device)
  1. 发送命令并获取输出:
代码语言:txt
复制
output = connection.send_command('show version')
  1. 使用正则表达式匹配所需的行:
代码语言:txt
复制
pattern = r'Cisco IOS Software'  # 匹配特定行的正则表达式
match = re.search(pattern, output)  # 在输出中搜索匹配项

if match:
    matched_line = match.group(0)  # 获取匹配到的行
    print(matched_line)
else:
    print("未找到匹配的行")

以上代码中,首先使用netmiko库中的ConnectHandler函数连接到设备,然后使用send_command函数发送'show version'命令并获取输出。接下来,使用re模块的search函数和提供的正则表达式匹配输出中的特定行。如果找到匹配项,就打印出该行,否则打印出未找到匹配的提示。

这里需要注意的是,示例中使用的是Cisco设备作为示例,因此设备类型为'cisco_ios'。对于其他设备类型,可能需要使用不同的'device_type'值。另外,在实际使用过程中,还可以根据具体需求进行更多的异常处理、结果处理和逻辑扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

网络工程师学Python-36-多厂商网络设备自动化管理库Netmiko

Python Netmiko是一个基于Paramiko的多厂商网络设备自动化管理库,支持SSH和Telnet协议,并能够支持多种厂商的网络设备,例如Cisco、Juniper、Arista、HP等。...本文将介绍Python Netmiko的基本用法和几个示例,包括连接设备、发送命令和配置设备等。...发送命令from netmiko import ConnectHandlerdevice = { 'device_type': 'cisco_ios', 'ip': '192.168.1.1...该方法将列表中的命令发送到设备,并返回设备返回的输出内容。然后,我们使用save_config方法保存配置更改。...在本例中,从devices.txt文件读取IP地址,并使用相同的用户名和密码连接到设备。然后,使用send_config_set方法发送配置命令,并打印输出。

86420
  • 【实用工具】网络自动化运维工具NetCfgTools

    同时支持ssh、telnet登陆方式,模板_telnet(采用telnet登陆方式模板),例如:huawei_telnet,cisco_ios_telnet。...不同类型设备可以自定义不同操作模板,模板名称需要和netmiko提供的模板一致 钉钉机器人告警,见图: 增加exe版本运行相关提示: 满足每个设备操作需求,可以进行相同操作也可以是不同操作,按照使用者自定义的操作文档进行匹配...1.2 待开发功能 已完成测试设备类型HUAWEI、cisco、锐捷,交换机、路由器和EG网关设备,其他厂家设备类型还未测试 还未实现UI交互界面 2、deviceIP文档中的变量使用说明 HostName...,可以自定义文档名,添加配置命令或者巡检命令 devConfig文件夹中cfgtxt命令文档参考图例: 例如: display文档命令: cfg文档命令: show文档命令: iostype:选择...netmiko所支持的设备模板,例如:cisco、锐捷选择cisco_ios,华为选择huawei 注:每个变量中间需要用空格隔开,最后一行不能有空行存在。

    80020

    【实用工具】网络自动化运维工具NetCfgTools

    满足每个设备操作需求,可以进行相同操作也可以是不同操作,按照使用者自定义的操作文档进行匹配,自动获取相关命令,进行设备操作(巡检命令或者配置命令) 运行相关截图: ?...1.2 待开发功能 已完成测试设备类型HUAWEI、cisco、锐捷,交换机、路由器和EG网关设备,其他厂家设备类型还未测试 还未实现UI交互界面 2、deviceIP文档中的变量使用说明 HostName...,可以自定义文档名,添加配置命令或者巡检命令 devConfig文件夹中cfgtxt命令文档参考图例: ?...例如: display文档命令: ? cfg文档命令: ? show文档命令: ?...iostype:选择netmiko所支持的设备模板,例如:cisco、锐捷选择cisco_ios,华为选择huawei 注:每个变量中间需要用空格隔开,最后一行不能有空行存在。

    1.6K61

    python实用脚本:网络设备批量调试及备份

    dev_config.exe是批量配置的脚本,调用ip.txt里放的ip输入用户名密码登陆设备,运行cmd.txt的命令。...以下是脚本部分为三个文件: 说明:第一个文件,devlogin.py是做的一个设备登陆的类,其他使用的时候引入这个就好了,dev_bak是配置备份的文件,其中设备登陆部分是从第一个文件引入的,第二个同理...:') for value in config_commands: print (value) cmd_comfirm= input('请确认是否使用以上命令进行配置[Y...fail_write(fail_path, ip) print ('-'*30) else : print ('请修改cmd.txt中的命令后重新执行...设备批量配置脚本, 请将需要配置的命令行保存在程序目录下并以cmd.txt命名, 请将需要登陆的设备IP保存在程序目录下并以ip.txt命名, 系统将自动读取IP以及命令并自动配置到设备

    1.1K20

    网络工程师学Python-31-远程连接管理SSH

    Python SSH是一种用于远程连接和管理Linux服务器的Python库。使用Python SSH,您可以在远程服务器上执行命令、上传和下载文件、设置SSH代理等。...在本文中,我们将介绍一些流行的Python SSH库,以及如何在Python中使用它们。Paramiko图片Paramiko是一个用于SSH连接和管理的Python库。...然后,它将命令输出打印到控制台。Netmiko图片Netmiko是一个用于远程设备管理的Python库,包括网络设备和Linux服务器。...下面是一个使用Netmiko连接到网络设备并执行命令的示例:from netmiko import ConnectHandlerdevice = { 'device_type': 'cisco_ios...ip interface brief')print(output)ssh.disconnect()上述代码使用Netmiko创建了一个SSH连接到网络设备,执行show ip interface brief

    53430

    网络自动化工具CFG Demo 版,大佬自编实用脚本工具。

    感谢小江大佬无私分享,大佬再次用python编写出实用脚本。...提供的模板一致 Ø 满足每个设备操作需求,可以进行相同操作也可以是不同操作,按照使用者自定义的操 作文档进行匹配,自动获取相关命令,进行设备操作(巡检命令或者配置命令)运行相关截图: Ø 每个设备运行完成会保存对应操作日志可供参考参考图例...、锐捷,多为交换机、路由器设备和 EG网关设备,其他厂家设备类型还未测试 Ø 还未实现 UI 交互界面 2、设备 IP 文档中的变量使用说明 HostName HostIP UserName PassWord...,可以自己定义文档名,添加配置命令或者巡检命令参考一下图例: iostype:选择netmiko所支持的设备模板,例如:cisco、锐捷选择cisco_ios,华为选择 huawei 注:每个变量中间需要用空格隔开...,最后一行不能有回车。

    43710

    Cisco 多个安全漏洞预警

    /CiscoSecurityAdvisory/cisco-sa-20180328-xesc 根据公告,在IOS XE软件中内置了level 15特权的默认用户和密码,可能导致未经身份验证的远程攻击者使用该默认用户名和密码登录系统.../security/center/softwarechecker.x Cisco IOS和IOS XE可以通过输入(show version)命令查看设备软件版本号,比如Cisco IOS设备上:...Router> show version Cisco IOS Software, C2951 Software (C2951-UNIVERSALK9-M), Version 15.5(2)T1,...Compiled Mon 22-Jun-15 09:32 by prod_rel_team 在Cisco IOS XE 上: ios-xe-device# show version Cisco...Role: Client enabled显示功能开启,同时,也可以直接查看端口监听情况,使用(show tcp brief all)、(show udp)命令,对于局域网内也可以使用Nmap

    1K70

    如何使用 Python Nornir 实现基于 CLI 的网络自动化?

    本文将详细介绍如何使用 Python Nornir 实现基于 CLI 的网络自动化。图片1....编写 Nornir 脚本现在,让我们开始编写一个基于 CLI 的网络自动化脚本。我们将以一个简单的示例开始,演示如何使用 Nornir 连接到设备并执行命令。...例如,我们可以编写一个函数来执行命令:def run_command(task): command = "show interfaces" result = task.run(task=netmiko_send_command...netmiko_send_command 任务执行命令,并将结果存储在 output 变量中。...您可以根据需要编写更多任务函数,并使用 Nornir 的功能来管理和配置网络设备。4. 总结本文详细介绍了如何使用 Python Nornir 实现基于 CLI 的网络自动化。

    83300

    Cisco Smart Install远程代码执行漏洞再次预警

    /cisco-sa-20180328-smi2 根据公告,Cisco IOS和IOS XE软件在SmartInstall功能开启的情况下(该功能在设备出厂时默认开启),会监听一个TCP 4786端口...): nmap -v -p T:4786 192.168.1.0/24 同时,也可以通过Cisco Security提供的Cisco IOS软件检查器,企业用户可以自行提交Cisco IOS和IOS...XE可以通过输入(show version)命令查看设备软件版本号,比如Cisco IOS设备上: Router>show version CiscoIOS Software, C2951 Software...CompiledMon 22-Jun-15 09:32 by prod_rel_team 在Cisco IOS XE 上: ios-xe-device#show version CiscoIOS...Role: Client enabled显示功能开启,同时,也可以直接使用(show tcp brief all)命令查看端口监听情况,示例: router#show tcp brief

    1.1K110

    Cisco Smart Install远程代码执行漏洞再次预警

    /cisco-sa-20180328-smi2 根据公告,Cisco IOS和IOS XE软件在SmartInstall功能开启的情况下(该功能在设备出厂时默认开启),会监听一个TCP 4786端口...): nmap -v -p T:4786 192.168.1.0/24 同时,也可以通过Cisco Security提供的Cisco IOS软件检查器,企业用户可以自行提交Cisco IOS和IOS...XE可以通过输入(show version)命令查看设备软件版本号,比如Cisco IOS设备上: Router>show version CiscoIOS Software, C2951 Software...CompiledMon 22-Jun-15 09:32 by prod_rel_team 在Cisco IOS XE 上: ios-xe-device#show version CiscoIOS...Role: Client enabled显示功能开启,同时,也可以直接使用(show tcp brief all)命令查看端口监听情况,示例: router#show tcp brief

    1.2K50

    原创Paper | Cisco IOS XE 系统 WebUI 未授权命令执行漏洞分析

    环境搭建 参考资料 我去年购入一台Cisco ISR 4300路由器进行研究,分析其后台命令执行的1day,正好这个路由器也是Cisco IOS XE系统,所以可以直接用Cisco ISR的环境来进行研究...Cisco官方并没有公布漏洞详情,但是公布了如何检测自己的设备是否被攻击者植入了后门马。...第一种检测方案 图6 IOS XE后门代码1 上面的代码猜测是Cisco官方在设备中抓到的后门,通过上面的代码我们可以知道: $ curl -kv http://host/webui/logoutconfirm.html...cli命令,不过同样,我们没办法得知logon_hash的值 这两种后门我觉得没必要区分,只要使用第二种方案进行探测,就能都检测到目标是否被植入后门。...第三种检测方案 图8 后门代码中的修补代码部分 攻击者不仅在目标设备上留下后门,还对未授权的漏洞进行修补,该路由将会匹配包含%百分号的请求,如果请求的uri中存在百分号,则返回404。

    2.5K10

    使用netmiko模块连接H3C设备(闭

    最近一直在测试Python中通过ssh协议连接huawei、h3c等网络设备的paramiko和netmiko模块。为什么选用这两个自己去网上找答案。...有关paramiko模块连接网络设备的例子和遇到的问题,烦请参考:https://blog.51cto.com/chier11/2116155 本文只介绍使用netmiko模块连接H3C网络设备,并成功闭坑...,系统会分屏显示,但是在netmiko的huawei模块中默认设置了取消分屏显示的指令,如下:screen-length 0 temporary(华为取消分屏显示的命令) ---- from __future...举个例子:一个user用户登录华为设备后执行取消分屏显示命令后对设备中其他用户没影响(其他用户还是分屏显示),当user用户退出ssh的时候该用户的分屏显示功能会自动恢复,就像定义了:进入自己家目录的环境一样方便强大...if __name__=="__main__": Get_CRC() ---- 以上是在实际中对华为和华三厂家的命令使用中的区别总结。如有不妥之处烦请大家指正。

    2.7K21

    11、管理Cisco互联网络

    一、路由器 1、Cisco IOS 软件介绍 网络操作系统,路由器的操作系统,用于管理硬件 2、外部配置Cisco设备的方式 Console Port 第一次配置使用的方式。...,用的很少 web 网页进行配置管理 3、Cisco IOS 用户接口功能 CLI方式用来输入命令 可以操作各种网络设备 用户可以在控制台模式输入或者黏贴命令 回车键代表用户结束输入并执行命令 两个主要的模式用户模式和特权模式...OS software file: 小型的迷你IOS,当正常的IOS丢失或者无法找到,系统或自动调到迷你的IOS启动。...(3)查找Cisco IOS软件,查找IOS顺序:1、Flash 2、TFTP服务器 3、ROM中的Mini IOS (4)加载Cisco IOS 软件 3.jpg (5)查找配置文件,查找配置文件顺序...#show version  可以看到配置寄存器的值Configuration register is 0x2102 0x代表后面的数为16进制的数 2102代码路由器每次启动都要寻找上次保存的配置,也就是要把

    54540

    【干货】你想了解的BGP的问题都在这里了

    在 Cisco IOS® 软件 12.0 版及更高版本中,可以三种不同的格式(即,十进制、十六进制和 AA:NN)配置社区NN.默认情况下, Cisco IOS使用更旧的十进制形式。...在未来的 Cisco IOS 软件版本中,会更改命令输出以反映出站策略。如果有两个可选路径指向目标,BGP总是使用最佳路由进行通知。...注意:在 Cisco IOS 软件 12.0 版及更高版本中,引入了一种新的 BGP 软重置增强功能。 9、什么是自治系统 (AS) 编号,如何获得一个自治系统编号?...在这类情况下,拒绝对于这些原因的前缀由r show ip bgp命令输出的RIB识别和通告给对等体。此功能最先在 Cisco IOS 软件版本 12.2(08.05)T 中可用。...是,与Cisco IOS XR的GSR支持VPLS-BGP自动发现的路由反射器功能。 38、如何调试特定的VRF的路由在Cisco IOS XR环境?

    2.7K30

    网工Python之路之netmiko模块实验(二)推送配置

    Python之路之paramiko 模块实验(六)FTP推送备份文件 网工Python之路之paramiko 模块实验(七)回显保存成文件,Win中处理空行 实验背景: Netmiko 是作者 Kirk...它做了很多改进,如精简了 show (华为就是 display )命令的执行和回显内容的读取,简化了设备配置命令,支持了多厂商的设备和平台。...(4)在实验文件夹中,准备实验目的(3)的预设指令,编辑后保存为 netmiko-config-lab2.txt。...Python代码: netmiko 模块的脚本相对于 paramiko 真是精简太多了,有惊艳之感!...希望通过这个实验,我们能清晰掌握 netmiko 几条指令配置函数的使用。大家生产有什么实际需求?可以试着拆分成几个小目标,逐一实现,最终再组合起来,满足日常生产,这样我们才能学以致用!

    1.1K20

    Cisco ASA安全产品拒绝服务漏洞(CVE-2018-15454)处置建议

    CLI中输入show version来查询设备版本,通过影响版本判断设备是否在影响范围内。...Cisco FTD Software Release版本自查 管理员用户可以登录到设备后在CLI中输入show version来查询设备版本,通过影响版本判断设备是否在影响范围内。 ?...在CLI中输入show conn port 5060 ,若执行结果中存在大量不完整的SIP连接,并且命令show processes cpu-usage non-zero sorted的执行结果中发现CPU...如果设备已经崩溃并重启,可使用如下命令获取崩溃信息,提供给Cisco官方进行确认,是否已经受到该漏洞攻击。...4.2 阻断攻击主机 用户可以使用访问控制列表(ACL)阻断来自特殊源IP地址的流量,应用ACL之后,需在EXEC模式下使用如下命令清除该源的现有连接。

    1.1K20
    领券