文档章节

利用secrt终端半自动化管理

tonyjia87
 tonyjia87
发布于 2014/07/23 13:01
字数 514
阅读 30
收藏 0
点赞 0
评论 0
# $language = "Python"
# $interface = "1.0"

# -*- coding: gbk -*-
cmds = {
    '5800':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            "cmd1":'display current-configuration\r',
            'cmd2':'dis device manuinfo | include DEVICE\r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display inter brief\r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.2':'鹿煤录脪脢戮路露脟酶脪碌脦帽PC-P-C202-3-3-NSW03',
                      


                    },
            },
    '5120':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            'cmd1':'display current-configuration\r',
            'cmd2':'dis device manuinfo \r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display brief inter \r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.3':'鹿煤录脪脢戮路露脟酶鹿脺脌铆PC-P-C202-3-3-NSW01',
                        '192.168.240.4':'鹿煤录脪脢戮路露脟酶ipmiPC-P-C202-3-3-NSW05',
                        '192.168.240.7':'鹿煤录脪脢戮路露脟酶鹿脺脌铆PC-P-C202-C-6-5-NSW01',

                    },
            },

    '55102':{'waituser':'Username',
            'user':'admin\r',
            'waitps':'assword',
            'password':'appled\r',
            'waitsigner':'>',
            'cmd1':'display current-configuration\r',
            'cmd2':'dis device manuinfo | include DEVICE\r',
            'cmd3':'display ip inter brief\r',
            'cmd4':'display inter brief\r',
            'cmd5':'display mac-address\r',
            'cmd6':'display clock\r',
            'qu':'qu\r',
            'iplist':{'192.168.240.5':'鹿煤录脪脢戮路露脟酶脪碌脦帽碌露脝卢YPT-202-6-5-BSW01',
                        '192.168.240.6':'鹿煤录脪脢戮路露脟酶麓忙麓垄碌露脝卢YPT-6-5-202-BSW03',

                    },
            },

    'ciscofc':{'waituser':'login',
            'user':'admin\r',
            'waitps':'assword',
            'password':'apple@123\r',
            'waitsigner':'#',
            'cmd1':'show running-config\r',
            'cmd2':' show module \r',
            'cmd3':'show ip interface \r',
            'cmd4':'show int brief \r',
            'cmd5':'show port-license\r',
            'cmd6':'show clock\r',
            'qu':'exit\r',
            'iplist':{'192.168.240.8':'鹿煤录脪脢戮路露脟酶麓忙麓垄ciscofc PC-P-C202-C-3-3-FSW01',
        
                    },
            },
}


#print cmds['55102']['user']
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def whoel(command):
    crt.Screen.Send(command)
    while True:
            if crt.Screen.WaitForString("More",5):
                crt.Screen.Send(" ")
            else :
                break 

def main(ios):
    crt.Screen.Synchronous = True
    for i in cmds[ios]['iplist'].keys() :
        crt.Session.LogFileName = ('Telnet %s' %(i))
        
    #crt.Session.LogFileName = ('TELNET whoel 192.168.240.4 23.txt')
        crt.Session.Log(True,True)

    # connect to host on port 23 (the default telnet port)
    #
    #crt.Session.Connect("TELNET 172.16.25.254 23")
        crt.Screen.Send("TELNET %s 23 \r" %(i))
        if crt.Screen.WaitForString('Press')==-1:
            whoel(cmds[ios]['qu'])
            crt.Session.Log(False)
            crt.Screen.Synchronous = False
            
        else:
            crt.Screen.WaitForString(cmds[ios]['waituser'])
            crt.Screen.Send(cmds[ios]['user'])

            crt.Screen.WaitForString(cmds[ios]['waitps'])
            crt.Screen.Send(cmds[ios]['password'])

            crt.Screen.Synchronous = False
            crt.Screen.WaitForString(cmds[ios]['waitsigner'])
            whoel(cmds[ios]['cmd1'])
            whoel(cmds[ios]['cmd2'])
            whoel(cmds[ios]['cmd3'])
            whoel(cmds[ios]['cmd4'])
            whoel(cmds[ios]['cmd5'])
            whoel(cmds[ios]['cmd6'])
            whoel(cmds[ios]['qu'])
            crt.Session.Log(False)
            crt.Screen.Synchronous = False
#main('ciscofc')
main('5800')
main('5120')
main('55102')
main('ciscofc')


© 著作权归作者所有

共有 人打赏支持
tonyjia87
粉丝 0
博文 3
码字总数 1523
作品 0
浦东
手机需要,哪位大神帮编个Python脚本,谢谢

我手机是ppc,己安装有py平台,现在需要个pyc程序,但我对python编辑脚本认识很少,不知哪位大神帮我编个py脚本,非常感谢。要求很简单,就是要求从内存卡的路径【图1】:Storage CardProgram...

东方哈哈
2011/10/31
823
5
使用docker实现半自动化代码自动部署与回滚

最近开发docker的caas平台,目前已经开发完成,在优化性能与套模板。对于docker最近是很好,很多人把docker做为vm来使用,当然作为测试来说是没问题,但我感觉docker本身在做沙箱、自动化部署...

dl528888
2015/08/17
0
0
从零打造B/S 自动化运维平台 (一、自动化运维平台的应用及业务流程)

背景以及需求: 随着企业业务的不断发展,运营方面,如何保障业务的高可用及服务质量?很多企业处于“半自动化”状态,一但出现故障,技术部人员都会加入“救火”的行列,不仅浪费人力物力,...

菜鸟的征程
2017/11/09
0
0
被邮件淹没的你,可以用 Mac 原生邮箱的规则进行半自动处理

被邮件淹没的你,可以用 Mac 原生邮箱的规则进行半自动处理 少数派2017-12-282 阅读 处理规则mac邮箱邮件 早晨,我例行整理邮箱,瞥见了 180 封未处理的提醒(本周)。我没有打开过其中的任何...

少数派
2017/12/28
0
0
Objective-C 内存管理精髓

之前写过类似的文章,这篇以做总结,希望能帮助刚上船的兄弟。_ iPhone系统中的Objective-C的内存管理机制是比较灵活的,即可以拿来像C/C++一样用,也可以加个AutoreleasePool让它升级为半自...

Jeans
2012/07/21
0
0
记录http协议python接口测试做法和设计想法

首先针对协议选择工具或者自动化脚本语言,了解http发送请求的各种方式如get,post,put,delete等。工具很多如postman,Firefox插件,soapui+groovy等等。 根据查到资料很多接口自动化的开源框...

天马行空的鱼
2015/12/07
329
0
国际知名银行App漏洞曝光:数千万用户的财产面临被盗风险

据国外安全研究人员报告显示,国际知名的数款银行App应用程序存在严重安全漏洞,黑客可利用这些漏洞来窃取银行App使用者的用户名和密码,这将导致数千万用户的财产面临被盗的风险。 据悉,研...

银行App
2017/12/09
0
0
内网安全管理的六脉神剑

企业安全需要削铁如泥的上古神兵利器,更需要固若金汤的安全防线。内网安全管理作为多年致力于内网安全的极地银河公司,对企业内网安全问题进行了深入研究,其面向全球首家推出的--极地银河终...

liquansanguai
2014/05/04
0
0
交换机管理模式1-Telnet登录与管理交换机

交换机一般情况下都可以支持多种方式进行管理,用户可以选择最合适的方式管理交换机,以下是交换机支持的5种管理模式: 1)利用终端通过Console口进行本地管理。 2)通过Telnet方式进行本地或...

阿仙儿
2017/04/24
0
0
SaltStack与Python配合实现系统用户自动化管理

背景需求: 随意业务的发展,服务器数据也是越来越多,开发人员,运维人员也是越来越多。这时候如果有大量的人需要登录到服务器的话,那么我们就很有必要对用户进行管理。传统的方式是登录到...

蓝色_风暴
2017/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

nginx负载均衡

一、nginx 负载均衡 拓扑图: 主机信息: 1、负载均衡器1(lb1):192.168.10.205 RHEL7.5 2、负载均衡器2(lb2):192.168.10.206 RHEL7.5 3、web服务器1(web01):192.168.10.207 Centos...

人在艹木中
4分钟前
0
0
Java Stream 简单使用

什么是流 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操...

阿豪boy
13分钟前
0
0
做了一个小网站

做了一个小网站 www.kanxs123.com

叶落花开
今天
0
0
继社会佩奇之后,又尝试了可爱的蓝胖子,有趣 Python

#哆啦A梦# !/usr/bin/env python3# -*- coding: utf-8 -*-# @Author: dong dong# @Env: python 3.6from turtle import *# 无轨迹跳跃def my_goto(x, y): penup(...

Py爱好
今天
0
0
shell及python脚本方式登录服务器

一、问题 在工作过程中,经常会遇见需要登录服务器,并且因为安全的原因,需要使用交互的方式登录,而且shell、python在工作中也经常用到,并且可以提供交互的功能。都是利用了expect、spawn...

yangjianzhou
今天
0
0
upstream sent too big header while reading...

nginx 报错:1736 upstream sent too big header while reading response header from upstream 1. 一般处理 location ~ \.php$ { #增加下面两句 fastcgi_buffer_size 128k; ......

dubox
今天
0
0
Python解析配置文件模块:ConfigPhaser

import configparser as pa# [SectionA]# a = aa# b = bb# c = cc# [SectionB]# optionint = 1# optionfloat = 1.1# optionstring = string#https://www.cnblogs.com/a......

易野
今天
0
0
Java基础——面向对象

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Object的方法: clone() Object 克隆 to Strin...

凯哥学堂
今天
0
0
rabbitmq学习记录(八)消息发布确认机制

RabbitMQ服务器崩了导致的消息数据丢失,已经持久化的消息数据我们可以通过消息持久化来预防。但是,如果消息从生产者发送到vhosts过程中出现了问题,持久化消息数据的方案就无效了。 Rabbit...

人觉非常君
今天
0
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部