Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import telnetlib
- import random
- import math
- import time
- def execute():
- ##################
- # Criando uma instancia e abrindo a conexao.
- telnet = telnetlib.Telnet(host, port)
- # Adicionando o username e o password da conexao.
- telnet.read_until(b'username:')
- telnet.write(user.encode('ascii') + b"\n")
- telnet.read_until(b'password:')
- telnet.write(password.encode('ascii') + b"\n")
- # Comando necessario para ativar ou desativar o wifi.
- if switch:
- telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch on\n')
- else :
- telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch off\n')
- switch = not switch;
- #telnet.write(b'help\n')
- # Fechando a conexao.
- telnet.write(b'logout\n')
- # Imprimindo o resultado.
- print(telnet.read_all().decode('ascii'))
- # Informacoes sobre o ip do roteador, a porta, o usuario e a senha.
- host = '192.168.0.1'
- port = 23
- user = 'admin'
- password = 'admin'
- # Armazenamento do numero gerado aleatoriamente entre 0 e 1 seguindo uma distribuicao uniforme.
- ft = 0
- # Tempos de down (quando falha) e up (quando e reparado)
- time_down = 0
- time_up = 0
- # Dados de MTTF (Mean Time To Fail) e MTTR (MEAN Time To Repair) em segundos
- mttf = 300
- mttr = 20
- # flag que muda de valor, indicando se eh hora de ligar ou desligar o
- # roteador
- switch = True
- # Calculando o numero aleatorio para o tempo.
- while (True):
- ft = random.uniform(0,1)
- time_down = - math.log(1 - ft) * mttf
- print(time_down)
- time.sleep(time_down)
- execute()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement