Advertisement
Guest User

Untitled

a guest
Sep 27th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. import telnetlib
  2. import random
  3. import math
  4. import time
  5.  
  6. # Informacoes sobre o ip do roteador, a porta, o usuario e a senha.
  7. host = '192.168.0.1'
  8. port = 23
  9. user = 'admin'
  10. password = 'admin'
  11.  
  12. # Armazenamento do numero gerado aleatoriamente entre 0 e 1 seguindo uma distribuicao uniforme.
  13. ft = 0
  14.  
  15. # Tempos de down (quando falha) e up (quando e reparado)
  16. time_down = 0
  17. time_up = 0
  18.  
  19. # Dados de MTTF (Mean Time To Fail) e MTTR (MEAN Time To Repair) em segundos
  20. mttf = 300
  21. mttr = 20
  22.  
  23. # flag que muda de valor, indicando se eh hora de ligar ou desligar o
  24. # roteador
  25. change = True
  26.  
  27. def execute():
  28.     ##################
  29.     # Criando uma instancia e abrindo a conexao.
  30.     telnet = telnetlib.Telnet(host, port)
  31.     # Adicionando o username e o password da conexao.
  32.     telnet.read_until(b'username:')
  33.     telnet.write(user.encode('ascii') + b"\n")
  34.     telnet.read_until(b'password:')
  35.     telnet.write(password.encode('ascii') + b"\n")
  36.    
  37.     # Comando necessario para ativar ou desativar o wifi.
  38.     if change:
  39.         telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch on\n')        
  40.     else :
  41.         telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch off\n')        
  42.  
  43.     change = not change;
  44.  
  45.     #telnet.write(b'help\n')
  46.     # Fechando a conexao.
  47.     telnet.write(b'logout\n')
  48.     # Imprimindo o resultado.
  49.     print(telnet.read_all().decode('ascii'))
  50.  
  51.  
  52.  
  53. # Calculando o numero aleatorio para o tempo.
  54. while (True):
  55.     ft = random.uniform(0,1)
  56.     time_down = - math.log(1 - ft) * mttf
  57.     print(time_down)
  58.     time.sleep(time_down)
  59.     execute()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement