iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python与Cisco 的事儿之二
  • 411
分享到

Python与Cisco 的事儿之二

之二事儿Python 2023-01-31 07:01:05 411人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

坚持连续python大战CiscoNetwork。 #!/usr/bin/Python  from netmiko import ConnectHandler from netmiko.ssh_exception import NetMi

坚持连续python大战CiscoNetwork。 

#!/usr/bin/Python 

from netmiko import ConnectHandler
from netmiko.ssh_exception import NetMikoTimeoutException
import time
import sys
import getpass
import re
import StringIO

class CiscoNetwork():
        def __init__(self,username,passWord):
                 self.username = username
                 self.password = password

        def CiscoDevice(self,iplist):
		 self.device={'device_type':'cisco_iOS',
                              'username':self.username,
                              'password':self.password,
                              'ip':iplist
                             }
		 print('-'*100)
                 print "[+]connect to network device... %s" %(iplist)
                 self.connect = ConnectHandler(**self.device)
	         self.connect.enable()

        def gethostname(self):
                self.hostname = self.connect.find_prompt()
                self.hostname = self.hostname.replace("#","")
                print self.hostname
             
        def interfaceInfo(self,cmd):
                 result = self.connect.send_command(cmd)
                 for interface in result.split('\n'):
                      if 'up' in interface:
                          #print interface
                          lines=StringIO.StringIO(interface)
                          data = lines.read()
                          intername = ' '.join(re.findall('^Eth.+\/\d',data))
                          loopback  = ' '.join(re.findall('Loopback[0-9]',data))
                          interIP = re.findall( '\.'.join(['\d{1,3}']*4),data)
                          if intername:
                             print intername ,':', ''.join(interIP)
                          else:
                             print loopback  , ':', ''.join(interIP)
 
        def show(self,cmd):
                 result = self.connect.send_command(cmd)
                 lines = StringIO.StringIO(result)
                 data = lines.read()
                 uptime = re.findall('uptime.+',data)
                 id     = re.findall('\d{8}',data)
                 soft  = re.findall('L3_.+\\.bin',data)
                 print 'Device UPtime:', ''.join(uptime)
                 print 'Device ID:', ''.join(id)
                 print 'Soft Version:',''.join(soft)

        def close(self):
                if self.connect is not None:
                       self.connect.disconnect()
                       self.connect = None        
                
if __name__ == '__main__':
	print "[+] This Program is beging done......."
        username = raw_input('Username:')
        password = getpass.getpass()
	for iplist in open("/opt/other/ip.txt"):
             try:
                 switch = CiscoNetwork(username,password)
		 switch.CiscoDevice(iplist)
                 switch.gethostname()
		 switch.interfaceInfo('show ip int brief')
                 switch.show('show version')
                 switch.close()
             except (EOFError, NetMikoTimeoutException):
                 print ('Can not connect to Device')

    

   01.png

--结束END--

本文标题: Python与Cisco 的事儿之二

本文链接: https://www.lsjlt.com/news/191206.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python与Cisco 的事儿之二
    坚持连续Python大战CiscoNetwork。 #!/usr/bin/python  from netmiko import ConnectHandler from netmiko.ssh_exception import NetMi...
    99+
    2023-01-31
    之二 事儿 Python
  • Python与Cisco的事儿之三
       以下代码可以实现登录网络设备后通过show cdp nei 命令查看邻居设备,然后利用拼接的方式来增加描述,最后再写进相对应的网络设备的接口。#!/usr/bin/python from netmiko import Connect...
    99+
    2023-01-31
    之三 事儿 Python
  • Python与Cisco的事儿之四
       以下代码实现的流程: cdp -->获取相应链接的信息-->自动写进设备相对应的端口--->configure保存-->configure备份到TFTP服务器!#!/usr/bin/python from n...
    99+
    2023-01-31
    之四 事儿 Python
  • Python与Cisco 的事儿
       前几天写了一段代码,是用来检查思科设备的端口运行状态的,只是中间有些bug或是存在安全问题,比如密码写在脚本里,对网络不可以达的设备没有进行判断并加以跳过。以下对前两天写的代码进行修改。#!/usr/bin/python  from...
    99+
    2023-01-31
    事儿 Python Cisco
  • 浅谈Python基础之列表那些事儿
    一、列表的格式 二、列表的相关操作("增"、"删"、"改",“查”) <1> 添加元素 append()通过append可以向列表添加元素。 例: 运行结果: <2> 修改元素("改")...
    99+
    2022-06-02
    Python列表操作 python list列表
  • python之递归与二分法
    1. 递归 自己调用自己 递归的入口(参数) 和 出口(return) 树形结构的遍历  import os def func(lujing, n): lst = os.li...
    99+
    2023-01-30
    递归 python
  • 聊聊MultipartFile与File的一些事儿
    前言 前段时间碰到了中转文件的需求,需要使用HttpClient中转一下文件,过程为: 在实现这个需求的过程中就用得到了MultipartFile与File,而且我对前一个也不是很...
    99+
    2022-11-12
  • python之事件驱动与异步IO
      写服务器处理模型的程序时,通常有以下几种模型:  1.每收到一个请求,创建一个新的进程来处理该请求  2.每收到一个请求,创建一个新的线程来处理该请求  3.每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求(协程...
    99+
    2023-01-31
    事件 python IO
  • 星球大战与Python之间的那些事
    Python与星球大战背后的工业光魔 提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。 星战...
    99+
    2022-06-04
    星球大战 Python
  • Python之requests的使用(二)
    目录⭐️requests的使用(二)🌟1.文件上传🌟2.cookies🌟3.SSL证书验证 🌟4.代理设置🌟5.超时设置🌟总结⭐️requests的使用(二) 上一篇我们说...
    99+
    2023-05-15
    python requests使用 requests使用 python requests
  • 关于mybatis的一级缓存和二级缓存的那些事儿
    目录一、缓存是什么二、为什么需要缓存三、哪些数据会放到缓存四、mybatis一级缓存五、二级缓存六、注意事项一、缓存是什么 缓存其实就是存储在内存中的临时数据,这里的数据量会比较小,...
    99+
    2022-11-12
  • Java基础详解之面向对象的那些事儿
    目录一、面向对象的理解二、三大特性2.1 继承(extends):2.2 封装(private):2.3 多态:三、自动装箱与自动拆箱3.1 自动装箱3.2 自动拆箱四、小结一、面向...
    99+
    2022-11-12
  • python之 * 与** 的区别
    1.计算方面:*表示乘法       **表示指数幂运算 2.作为函数的参数: 1)调用函数时假设有函数 def test(a, b, c) test(*args):*表示传入的参数args是一个元组,把元组中的每一个元素按照次序作为参数...
    99+
    2023-01-30
    区别 python
  • Python+Pygame实现之走四棋儿游戏的实现
    目录导语一、游戏解说二、游戏规则三、环境安装四、代码展示五、效果展示导语 大家以前应该都听说过一个游戏:叫做走四棋儿 这款游戏出来到现在时间挺长了,小时候的家乡农村条件有限,附近也没...
    99+
    2022-11-11
  • python之类与类之间的关系
    在我们的世界中事物和事物之间总会有一些联系.   在面向对象中. 类和类之间也可以产生相关的关系 1. 依赖关系   执行某个动作的时候. 需要xxx来帮助你完成这个操作. 此时的关系是最轻的. 随时可以更换另外一...
    99+
    2023-01-30
    关系 python
  • Python之is与==的区别
    首先看几个例子:# -*-coding=utf-8 -*- a="Hello Python" b="Hello Python" print (a is b)    #结果是:True print (a == b)    #结果是:True ...
    99+
    2023-01-31
    区别 Python
  • PHP学习之实现PHP与JavaScript的交互(二)
    PHP与JavaScript交互的详细介绍 了解JavaScript什么是JavaScriptJavaScript的功能 JavaScript语言基础JavaScript数据类型JavaS...
    99+
    2023-09-16
    javascript php 交互 前端 html
  • SQL之Mysql事务的概念与应用
    代码分享:https://github.com/mtdgclub/PDO 具体查看根目录下的pdoAffair.php文件代码 2. 事务的四大特性 原子性:事务必须是一个不可分割的整体,要么做完,要么不做。 一致性:事务...
    99+
    2014-05-05
    SQL之Mysql事务的概念与应用
  • Java那点儿事之Map集合不为人知的秘密有哪些
    目录前言一、Map二、HashMap的基本概念三、HashMap集合的基本方法与使用四、HashMap集合的遍历五、HashMap集合的综合案例六、总结前言 上期我们说到了Colle...
    99+
    2022-11-12
  • Python之Pygame的Event事件模块
    目录Pygame的Event事件模块 事件类型事件处理方法 处理键盘事件处理鼠标事件Pygame的Event事件模块 事件(Event)是 Pygame 的重要模...
    99+
    2023-05-14
    Python Pygame的Event事件模块 Pygame Event事件模块
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作