Генерация/Смена/Отправка пароля от Wi-Fi

Генерация/Смена/Отправка пароля от Wi-Fi

DjinN

НАЗАД


# MikroTik Random Password Generator

 # with random start offset delay for use with /System Scheduler

 # Author: Bob Burley - April 25, 2011

 # Modified: bakabuka - Jan 9, 2017


:local minRtt

 :local maxRtt

 :local random 0

 :local siteAddress

 :local charStrNum 1

 :local p1

 :local var1

 :local var2

 :local var3

 :local newPassword ""

 # set password length here

 :local newPassLength 8

 # Total characters to choose from is 73

 # Eliminated confusing characters

 # '0' (zero) and Upper Case 'O'

 # '1' (one) and Upper Case 'I' and Lower Case 'l' (L)

 :local charStr1 "23456789ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghijkmnopqrstuvwxyz23456789"

 :local charStr2 "cN47iKd2bLn8sQz4JAu2PD6Vm5RjTG4UrFY78XewHE3W9gMq62v7a9Z5yf5pC3k6xt9Bh8S3o"

 :local charStr3 "uYswW92z6M5fJynQp6hGm5VSr4oR8k7A2bKq5U3FiZvc8gHP2tdL9E4jBT3X7xC6N4D8e7a93"

 # google.ca (74.125.95.147) - google.com (74.125.95.99) - yahoo.ca (68.180.206.184) - yahoo.com (209.191.122.70)

 :local arraySiteList [:toarray ("74.125.95.147","74.125.95.99","68.180.206.184","209.191.122.70")]

 :foreach siteAddress in=($arraySiteList) do={

 /tool flood-ping $siteAddress count=4 do={

 :if ($sent=4) do={

 :set minRtt $"min-rtt"

 :set maxRtt $"max-rtt"

 }

 :set random ($random + minRtt)

 :while ($random > 59) do={

 :set random ($random -60)

 }

 :set random ($random + maxRtt)

 :while ($random > 59) do={

 :set random ($random -60)

 }

 }

 }

 :delay $random

 :for char from=1 to=$newPassLength step=1 do={

 # Generate number between 0 and 72

 :set var1 ([:pick [/system clock get time] 6 8])

 :set p1 ([:len [/system resource get uptime]])

 :set var2 ([:pick [/system resource get uptime] ($p1-2) $p1])

 :set var3 (($var1 * $var2) / 48)

 # pick next character to add to the new password

 :if ($charStrNum=1) do={

 :set newPassword ($newPassword . [:pick $charStr1 $var3])

 }

 :if ($charStrNum=2) do={

 :set newPassword ($newPassword . [:pick $charStr2 $var3])

 }

 :if ($charStrNum=3) do={

 :set newPassword ($newPassword . [:pick $charStr3 $var3])

 }

 :set charStrNum ($charStrNum + 1)

 :if ($charStrNum = 4) do={

 :set charStrNum 1

 }

 :delay (($var1 + $var2 + $var3) / 5)

 }



 :log info $newPassword


/tool fetch mode=https url="http://192.168.1.49/hooks/hGpaNzrerkmwaH4dS/FmwmjBA73PeA6khBcjqXTAzAYAS3Q2z6zPGraGSntPmfmLrX" http-method=post http-data="payload={\"text\": \"$newPassword\"}"


:delay 60

# Change password for security profile named test.

/interface wireless security-profiles set test wpa2-pre-shared-key=$newPassword

Report Page