# -*- 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模块连接网络设备的更多相关文章

  1. Python MySQLdb模块连接操作mysql数据库实例_python

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  2. Python的telnetlib模块使用

    telnetlib模块的常用接口 telnetlib.Telnet(host, port, timeout) # 登录 write() # 输入命令 read_until(match) # 读出响应, ...

  3. 用Python怎么SSH到网络设备

    0. 前言 自上一篇文章<用python怎么telnet到网络设备>,简单使用了telnetlib库给大家演示了下,但是,现实环境中仍不建议去使用telnet. SSH(Secure Sh ...

  4. 用Python怎么telnet到网络设备

    0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但是,它的缺陷太明显了,就是不安全,信息明文传送,极容易被攻击窃取 ...

  5. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  6. Python标准模块--import

    1 模块简介 作为一个Python初学者,你首先要学会的知识就是如何引入其它模块或者包.但是,我发现有些开发者虽然使用Python很多年,依然不了解Python引入机制的灵活性.这篇文章,我们就会研究 ...

  7. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  8. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  9. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  10. python 常用模块(转载)

    转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...

随机推荐

  1. Vue2 常见问题汇总及解决方案

    参考:https://mp.weixin.qq.com/s/6Wapb1bZLQaYv0zlip6ygg 1.安装超时(install timeout) 方案: cnpm : 国内对npm的镜像版本 ...

  2. PDF.JS 预览pdf文件,中文不显示问题

    pdf.js 下载路径 http://mozilla.github.io/pdf.js/ pdf.js的使用不多说,网上都有 讲一下,.NET CORE MVC的使用遇到的问题 1. 将下载文件解压放 ...

  3. Nginx日志切割工具logrorate

    1.logrotate系统工具 linux自带logrotate工具 主流的linux系统版本,都默认安装logrotate包,作为分割日志的系统工具,可以方便将日志按周期(日,周,月)和大小进行分割 ...

  4. React子组件继承父组件的props

    https://zh-hans.reactjs.org/warnings/unknown-prop.html

  5. Zabbix3.4 安装配置

    第一.配置zabbix的yum源 # rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7 ...

  6. Linux系统目录及说明

    Linux系统目录结构以及简单说明: (1)/:根目录 (2)/boot:很多Linux系统把内核映像和其他一些和启动有关的文件都放在这里. (3)/tmp:一般只是启动时产生的临时文件才会放在这个地 ...

  7. Jmeter学习:常用内置函数

    常用函数一:  常用函数二: __counter 功能介绍: 生成一个计数器变量,每次使用的时候+1 __counter(false,gseq)表示所有线程共用,所有线程及迭代共享计数. __coun ...

  8. 杂:pthread_cond_timedwait导致死锁

    地球人都知道1:pthread_cond_timedwait使用时,需要对[条件]加锁.[条件]也是一种线程共享资源. 地球人都知道2:1个互斥锁不应该管理2类及以上的多线程共享资源 1+2=下面这样 ...

  9. eval()

    s='12*2'd=eval(s)#字符串运算函数print(d) 结果: 24

  10. core文件段错误---对应内核处理

    do_page_fault __bad_area __bad_area_nosemaphore force_sig_info_fault