文档章节

利用python去获取网络设备的接口信息

丿小丿贰丶
 丿小丿贰丶
发布于 2015/11/29 21:09
字数 335
阅读 88
收藏 0
#!/usr/bin/env python
#coding:utf-8
#
import paramiko
import pexpect

#定义设备登陆参数
user = 'user'
passwd = 'password'
port = 22


SH = paramiko.SSHClient()
SH.load_system_host_keys()
def ssh():
	ip_file = open('ip_n5k','r+')    
	ip_list = ip_file.readlines()    
	com = 'show mac address-table'
	for host in ip_list:
		ip = host.strip('\n')
                data = open('/root/work/result/%s' % ip,'w+')
		SH.set_missing_host_key_policy(paramiko.AutoAddPolicy())  #第一次链接时会提示(yes/no)提示信息,此处则相当于输出yes
		SH.connect(ip,port,user,passwd)     #链接设备
		stdin,stdout,stderr = SH.exec_command('%s' % com)     #执行show命令
		data.write(stdout.read())    #输出结果保存在本地文件
		data.close()

		SH.close()
	ip_file.close()
def pxpssh():
	iplist = open('ip_ucs','r+')
	for host in iplist.readlines():
		ip = host.strip('\n')
		data = open('/root/work/result/%s' % ip,'w+')
		child = pexpect.spawn('ssh %s@%s' % (user,ip))    #登陆设备
		child.expect('Password:')            #匹配到提示符Password
		child.sendline(passwd)               #发送密码
		child.expect('#')
		child.sendline('terminal length 0')    
		child.expect('#')
		child.sendline('connect nxos')
		child.expect('#')
		child.sendline('show mac address-table')
		child.expect('#')
		data.write(child.before)     #child.before是打印上一个命令的输出结果


ssh()
pxpssh()

结果以ip地址为命令保存在本地:

第一次写分享文章,请写得不好勿见笑。

© 著作权归作者所有

共有 人打赏支持
丿小丿贰丶
粉丝 1
博文 2
码字总数 509
作品 1
茂名
系统管理员
[雪峰磁针石博客]搜索引擎工具技巧2-google高级搜索技巧

Google Advanced Operators 高级选项(Google Advanced Operators)也称为Google hacking或Google dorks。谷歌 当用户将搜索关键字与高级Google搜索结合时,就会发生黑客攻击,例如易受攻击的W...

Python测试开发人工智能
07/23
0
0
Python制作酷狗和QQ音乐下载器

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 导语 不久前,我们制作了网易云音乐下载器。。。 但是网易云音乐无版权的歌曲利用那个下载器也是无法下载的。。。 这时候就需要再搞一波...

W3Cschool小编
07/24
0
0
数据中心网络运维必杀技满满“套路”得人心

“重复劳动,效率低下,事情繁杂,出事背锅”。这是一直以来数据中心网络运维人员的切身感受。数据中心运维本来就是一个复杂的事情,用一个公式可以感受其中的难度:“数据中心运维综合复杂度...

玄学酱
05/17
0
0
趁头发还未掉光,记录一次利用Python抓取相亲网站的美女信息!

背景: 老妈天天像催债一样催我娶媳妇,有没有对象呀,头都快秃完了,没对象赶紧回来相亲吧..... 都是乡里乡亲的,叫我怎么好意思相亲,每次都是简单的应付几句,最近无意中看到了一些相亲网...

Python新世界
07/26
0
0
老婆最近不开心,发消息老撤回,我利用Python破解了撤回的消息!

背景 闲来无事,在街上吃了些零食并用微信付款。不得不说程序员的思维和别人的是真不同,我想的却是微信真强大,稍微查看了一下,还有许多的小程序,很多大企业都在与它合作。这些还不是最重...

Python新世界
07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
30
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
27
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
34
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
21
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部