Python Telnetlib模块连接网络设备
# -*- coding: UTF-8 -*-
import telnetlib
import time
import datetime
import os
import json Username=
Password=
ip=
enable_passwd=
file='/opt/test.txt' def connect(ip, username, password, enable_passwd):
tn = telnetlib.Telnet(ip.encode('utf-8'))
tn.read_until('Username: ') # 用户名
tn.write(username.encode('utf-8') + '\n')
tn.read_until('Password: ') # 密码
tn.write(password.encode('utf-8') + '\n')
tn.write('enable' + '\n')
tn.read_until('Password: ') #enable 模式
tn.write(enable_passwd.encode('utf-8') + '\n')
if tn.read_until('#'):
tn.write('terminal length 0' + '\n')
print '登录成功'
time.sleep(1)
tn.write('configure terminal' + '\n') # 进入设置模式
time.sleep(1)
return tn def split_res(info):
info = info.strip().split('\r\n')[1:-1]
return '\n'.join(info) def run_command(tn, command):
print '开始执行命令: {}'.format(command)
tn.write(command + '\n')
time.sleep(3)
strs = split_res(tn.read_very_eager())
return strs def main(file):
with open(file[0], 'r') as f:
command_list = f.readlines()
client = connect(ip, Username, Password, enable_passwd)
for lien in command_list:
print lien.split("\n")[0]
res = run_command(client, lien.split("\n")[0]) # 执行配置下发
print res
print "执行完成"
return True if __name__ == '__main__':
main(file)
Python Telnetlib模块连接网络设备的更多相关文章
- Python MySQLdb模块连接操作mysql数据库实例_python
mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...
- Python的telnetlib模块使用
telnetlib模块的常用接口 telnetlib.Telnet(host, port, timeout) # 登录 write() # 输入命令 read_until(match) # 读出响应, ...
- 用Python怎么SSH到网络设备
0. 前言 自上一篇文章<用python怎么telnet到网络设备>,简单使用了telnetlib库给大家演示了下,但是,现实环境中仍不建议去使用telnet. SSH(Secure Sh ...
- 用Python怎么telnet到网络设备
0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但是,它的缺陷太明显了,就是不安全,信息明文传送,极容易被攻击窃取 ...
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- Python标准模块--import
1 模块简介 作为一个Python初学者,你首先要学会的知识就是如何引入其它模块或者包.但是,我发现有些开发者虽然使用Python很多年,依然不了解Python引入机制的灵活性.这篇文章,我们就会研究 ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- python 常用模块(转载)
转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...
随机推荐
- 力扣(leetcode)题库0001-python3
试一下leetcode的题库,不知道对于我这种小白要多长时,但是目标已经种下,去做就是了.You can do anything you set your mind to. 题目:题库链接 中:给定一 ...
- Software_programming_tools_IDEA
13:45:55 key promtoer 快捷键提示插件
- Linux Qt编译时出现has modification time int the future的解决方法
问题场景:我在window系统上合并完代码后,将代码通过TF卡拖到了Debian系统的开发板子上(为什么我不用Winscp或者xhttp传呢?因为网线被同事拿走了...),然后就报这个错. 网上查阅资 ...
- 【c#】csharp_learn
csharp learn JSON C#解析JSON字符串总结 https://www.cnblogs.com/nc923/p/11418583.html c#解析json字符串处理(最清晰易懂的方法 ...
- echarts:双y轴图表刻度均匀分布问题
今天分享一个小问题,内容不多. 双y轴图表中,为了图表的美观,经常会隐藏一侧的y轴刻度线,仅显示一侧的刻度线.那么问题就来了,两个y轴的数据数值大小不同,常常会导致刻度线的刻度分布不均匀,该如何解决呢 ...
- ENGG1310 Electricity and electronics P1.2 Electronic Communication
课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self use, not included any assignments or exams 一个 3h 的 ...
- Usage of Seven Zip in C#
Compresss by Squid-Box.SevenZipSharp.Lite choose x86/x64 7z dll if (IntPtr.Size == 4) { SevenZipExtr ...
- 服务器consul与本地服务健康检查不通问题解决
(125条消息) 服务器consul与本地服务健康检查不通问题解决_向往鸟的博客-CSDN博客_consul健康检查失败 .MathJax, .MathJax_Message, .MathJax_Pr ...
- 记录一次antd升级到最新版本,与现有代码冲突导致的问题
背景:发版的前一夜,测试突然发现项目某个功能点击弹框会导致整个页面直接空白,立即提了个单要我赶紧修复.(内心真是一万个卧槽)本来准备不加班的.没办法,那只能解决.第一步就怀疑是不是谁动了代码,毕竟一两 ...
- Win10家庭版找不到组策略gpedit.msc怎么办
Win10家庭版找不到组策略gpedit.msc怎么办 @echo off pushd "%~dp0" dir /b %systemroot%\Windows\servicing\ ...