文档章节

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

丿小丿贰丶
 丿小丿贰丶
发布于 2015/11/29 21:09
字数 335
阅读 73
收藏 0
点赞 0
评论 1
#!/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
数据中心网络运维必杀技满满“套路”得人心

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

玄学酱 ⋅ 05/17 ⋅ 0

利用python函数的输入、输出定义与时序图相结合,让生活更有趣

写在前面 1. 重点是思路交流,利用python函数的输入、输出定义与时序图相结合,让流程更加的简洁、清晰。该方法不局限于工作,同样适用于学习笔记、恋爱心得...等等只要存在个体交互的活动。...

python达人 ⋅ 05/08 ⋅ 0

如何用 Python 和 API 收集与分析网络数据?

本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集、分析与可视化数据。希望你举一反三,轻松应对今后的 API 数据收集与分析任务。 雷同 上周的研究生课,...

王树义 ⋅ 05/21 ⋅ 0

使用 Python 全栈打造淘宝客微信机器人(上)

本篇 将会涉及: Python 环境下淘宝客 API 的使用; 使用 Python 第三方模块 itchat 实现微信的登录的自动回复操作; PyQt5 的布局管理与多线程应用 1 、前言 1.1、什么是淘宝客 相信很多人都...

柯西带你学编程 ⋅ 05/21 ⋅ 0

5个python爬虫教材,让小白也有爬虫可写,含视频教程!

认识爬虫   网络爬虫,如果互联网是一张蜘蛛网,网络爬虫既是一个在此网上爬行的蜘蛛,爬了多少路程即获取到多少数据。 python写爬虫的优势   其实以上功能很多语言和工具都能做,但是用...

柯西带你学编程 ⋅ 06/12 ⋅ 0

Konghy/shelvedb

ShelveDB 利用 shelve 模块实现一个简单的基于文件的键值数据库。Python 中的 shelve 模块,可以提供一些简单的数据操作。在 shelve 模块中,key 必须为字符串,而值可以是python 所支持的数...

Konghy ⋅ 2016/06/03 ⋅ 0

什么样的人学Python比别人快?Python的学习大纲有哪些?

什么样的人学Python比别人快? 为什么会是这些人?前两类大家应该都没什么意见,为什么最后两类会学得快?这两类说白了就一个关键词:转行!既然决定转行,有太多需要学习的东西,太多不适应...

帅帅程序员 ⋅ 04/28 ⋅ 0

Python怎么利用多核cpu

原文链接http://www.cnblogs.com/stubborn412/p/4033651.html def dead_loop(): def dead_loop(): {void DeadLoop() { while (true); } } from threading import Thread lib = cdll.LoadLibr......

dby_freedom ⋅ 05/06 ⋅ 0

一个月入门Python爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者 ⋅ 04/25 ⋅ 0

推荐几本对于Python初学者比较好的书籍(内含PDF)

我们提供一个初学者最好的Python书籍列表。Python是一个初级程序员可以学习编程的最友好语言之一。为了帮助您开始使用Python编程,我们分享此列表。泡一杯茶,选一本书阅读,开始使用Python编...

柯西带你学编程 ⋅ 06/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 31分钟前 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 56分钟前 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

MVC——统一报文格式的异常处理响应

在我们写controller层的时候,常常会有这样的困惑,如果需要返回一个数据是,可能为了统一回去构造一个类似下列的数据格式: { status:true, msg:"保存成功!", data:[]} 而且在写...

alexzhu592 ⋅ 昨天 ⋅ 0

[知乎]SSH框架

网上图书馆管理系统包括管理员管理和图书管理,图书借阅,查询模块等等,网上商城包括前台页面和后台管理页面,两个都是以前别人的实际项目,只是别人用的不是SSH,我把他们改用SSH了,除了S...

颖伙虫 ⋅ 昨天 ⋅ 0

android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。 如果手机本身...

切切歆语 ⋅ 昨天 ⋅ 0

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部