Conexão de Roteadores CISCO
Publicado por Rafael Iguatemy (última atualização em 21/05/2012)
[ Hits: 9.188 ]
Homepage: http://rafaeliguatemy.com.br
Este script testa a conexão de uma lista de ips, conecta via telnet todos os que estão disponíveis, aplica e salva em arquivos separados as configurações necessárias dos roteadores. Muito útil para ambientes Wan com múltiplos roteadores.
#!/usr/bin/python #-*-coding:iso-8859-1 -*- ############################################################################################################# ############################################################################################################# ###-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------### ### Script: Conn.py ### ### Versão: 1.0 Data:08/05/2010 ### ### Autor: Rafael Iguatemy dos Santos - rafael.dsantos@bol.com.br ### ###-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------### ### Este script testa a conexão de uma lista de ips, conecta via telnet todos os que estão disponíveis, ### ### aplica e salva em arquivos separados as configurações necessárias em nos roteadores ### ############################################################################################################# ############################################################################################################# import os import telnetlib def pingar(ips): ''' Testar a Conectividade e separar os IPs que estão conectados ''' ipok = [] ipfora = [] for ip in ips: ping = os.popen('ping -c 10 %s' % ip).read() print ping print 75*"-" if ('64 bytes from') in ping: ipok.append(ip) else: ipfora.append(ip) return ipok def verifica_ip(ip): '''Verifica se o ip e valido e separa os octetos ''' oct1,oct2,oct3,oct4 = "","","","" for i in range(len(ip)): if ip[i] != '.': oct1 += ip[i] else: ipr1 = ip[i+1:] break for j in range(len(ipr1)): if ipr1[j] != '.': oct2 += ipr1[j] else: ipr2 = ipr1[j+1:] break for w in range(len(ipr2)): if ipr2[w] != '.': oct3 += ipr2[w] else: oct4 = ipr2[w+1:] break if int(oct1) == 0 or int(oct1)>255 or int(oct2)>255 or int(oct3)>255 or int(oct1)>255 or len(ip)>15 or ip.count('.')!=3: print "ip incorreto" else: ips = oct1+'.'+oct2+'.'+oct3+'.'+oct4 return ips user = 'xxxxx' password = '********' ip = '' ips = [] # Quando o ip 1.0.0.0 for digitado, o looping da entrada de dados terminará while ip != '1.0.0.0': ip = raw_input('Entre com IP / Digite 1.0.0.0 para sair') x = verifica_ip(ip) ips.append(x) ips.remove('1.0.0.0') ipsok = pingar(ips) print ipsok for HOST in ipsok: #Autenticação no roteador via Telnet tn = telnetlib.Telnet(HOST) tn.read_until("Username: ", 3) tn.write(user + "\r\n") tn.read_until("Password: ", 3) tn.write(password + "\r\n") #Comandos da IOS Cisco (Aqui que customizamos o script para qualquer configuração feita no roteador) tn.write("term length 0"+ "\r\n") tn.write("sh ip bgp sum" + "\r\n") tn.write("logout" + "\r\n") # str_all = tn.read_all() tn.close() try: # Teremos de saída 1 arquivo para cada roteador arq = "arq_"+HOST+".txt" f = open(arq, "w") try: f.write(str_all) finally: f.close except IOError: pass
Consumo de memória por processo
Script para obter um wallpaper de como está o globo em tempo real
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado