Advertisement
Guest User

Untitled

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