Генератор паролей скрипт

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Badgame31337
Сообщения: 7
Зарегистрирован: 07 май 2020, 16:55

Уважаемые друзья, подскажите пожалуйста или может скиньте рабочий скрипт генератора паролей для Микротик. Пробовал разные в интернете найденные, однако каждый раз одна и та же проблема -некоторое время(пару тройку дней) приходят разные пароли на почту, затем начинает приходить один и тот же. На роутерах настроен CapsMAN.

Сам скрипт за исключением отправки почты:

Код: Выделить всё

# 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


# Define the parameters for mail notification
:local destmail to@example.com
:local ccdestmail cc@example.com
:local content "New Wi-Fi password"
:local emailauthuser from@example.com
:local emailfrom from@example.com
:local emailserver 93.184.216.34
:local emailauthpass PassW0rd

: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


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Источник этого скрипта надо думать тут: https://ithelp.bakabuka.com/306-2/

Попробуйте заменить набор IP в этом массиве для /tool flood-ping

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

Лучше вообще поставьте IP каких-то устройств из своей локальной сети, а то будете флудить пингами по известным адресам Google и Yahoo так Вас ещё и накажут за это.

Второй вариант - сейчас полно сайтов онлайн-генераторов паролей по http-запросу. Можно взять пару-тройку таких ресурсов, обратиться с помощью /tool fetch к первому - если не отвечает - ко второму, не отвечает - к третьему. Кто-нибудь да ответит. Сразу получите пароль нужной длины и сложности.

Когда-то писал такой скрипт. Покопаюсь на досуге - выложу сюда.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Badgame31337
Сообщения: 7
Зарегистрирован: 07 май 2020, 16:55

Sertik, спасибо Вам огромное


q12305
Сообщения: 1
Зарегистрирован: 21 май 2013, 16:04

Пример моего скрипта.

Код: Выделить всё

:local PASSWORD
:local toEmail name@example.ru

:local PASSSIZE 8
:local RANDCOUNT
:local LENCOUNT
:local COUNT
:local SYMBOL {"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}

for n from=1 to=$PASSSIZE do={
:set RANDCOUNT [:tostr [/interface ethernet get ether3 tx-byte]]
:set LENCOUNT [:len $RANDCOUNT]
:set COUNT [:pick $RANDCOUNT ($LENCOUNT - 2) $LENCOUNT]

if ([:pick $COUNT 0 1] = 0) do={:set COUNT [:pick $COUNT 1 2];}
:set COUNT [:tonum $COUNT]
if ($COUNT > 62) do={:set $COUNT ($COUNT - 62)}
:set PASSWORD ($PASSWORD . [($SYMBOL->$COUNT)])

:delay 2s
}
:put $PASSWORD
:put ("Size: " . [:len $PASSWORD])
/caps-man security set [find name="WiFiGuest"] passphrase=$PASSWORD
/tool e-mail send to=$toEmail subject="New guest wifi password" body="Good morning!\nToDay Wireless Password Is: $PASSWORD"


Ответить