Advertisement
Guest User

Untitled

a guest
Sep 27th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 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. switch = True
  26.  
  27. # Calculando o numero aleatorio para o tempo.
  28. while (True):
  29. ft = random.uniform(0,1)
  30. time_down = - math.log(1 - ft) * mttf
  31. print(time_down)
  32. time.sleep(time_down)
  33. execute()
  34.  
  35.  
  36. def execute():
  37. ##################
  38. # Criando uma instancia e abrindo a conexao.
  39. telnet = telnetlib.Telnet(host, port)
  40. # Adicionando o username e o password da conexao.
  41. telnet.read_until(b'username:')
  42. telnet.write(user.encode('ascii') + b"\n")
  43. telnet.read_until(b'password:')
  44. telnet.write(password.encode('ascii') + b"\n")
  45.  
  46. # Comando necessario para ativar ou desativar o wifi.
  47. if switch:
  48. telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch on\n')
  49. else :
  50. telnet.write(b'wlctl set 2g --ssid Bougainvillea --switch off\n')
  51.  
  52. switch = not switch;
  53.  
  54. #telnet.write(b'help\n')
  55. # Fechando a conexao.
  56. telnet.write(b'logout\n')
  57. # Imprimindo o resultado.
  58. print(telnet.read_all().decode('ascii'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement