文档章节

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

丿小丿贰丶
 丿小丿贰丶
发布于 2015/11/29 21:09
字数 335
阅读 81
收藏 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地址为命令保存在本地:

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

© 著作权归作者所有

共有 人打赏支持
丿小丿贰丶
粉丝 0
博文 2
码字总数 509
作品 0
茂名
系统管理员
加载中

评论(1)

丿小丿贰丶
丿小丿贰丶
11
[雪峰磁针石博客]搜索引擎工具技巧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脚本实现对Linux服务器的监控

一、前言 二、概述 三、Python 版本说明 四、/proc 文件系统 五、对CPU监测 六、对系统负载监测 七、对内存信息的获取 八、对网络接口的监测 九、监控apache服务器进程的Python脚本 十、总结...

陈明乾
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

又一个centos文件顺序导致的问题

背景 新的centos似乎对于文件顺序做了特别的优化 和文件顺序出现的问题确实多了不少 centos7导致的spring循环依赖【实际上和这个问题不一样 不过由此衍生出的问题】 某应用放在新的系统开始报...

Mr_Qi
11分钟前
0
0
阿里云国际版香港CN2测评 月付9美元/30M带宽/1T流量

市面上很多家香港VPS服务商,一直都说阿里云国际版香港CN2线路好,延迟低,速度快,价格便宜流量还多,那么这个香港线路到底怎么样呢?本文从性能、延时、路由、速度方面来全方面测评一下阿里...

flyzy2005
54分钟前
0
0
撤销git commit --amend

it commit -amend之后想撤销 git reset HEAD@{1}

xiaomge
59分钟前
0
0
有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum: public enum TimeUnit 好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并...

polly
今天
10
0
生成pyc

Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改...

Mr_Tea伯奕
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部