Рандомный мак адрес
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 2
- Зарегистрирован: 15 авг 2023, 08:24
Добрый день форумчане, в скриптах как свин в апельсинах, подскажите как реализовать /interface ethernet set ether1 mac-address=XX:XX:XX:XX:XX:XX с рандомным мак адресом? Спасибо.
-
- Сообщения: 2
- Зарегистрирован: 15 авг 2023, 08:24
Как всегда выручил метод научного тыка!
Всем спасибо.
Код: Выделить всё
:global randomnum do={
/system resource irq
:local tmpsum 0
:foreach i in=[find] do={:set tmpsum ($tmpsum + [get $i count])}
:set tmpsum [:tostr $tmpsum]
:local lentmp [:len $tmpsum]
:return [:tonum [:pick $tmpsum ($lentmp - 2) $lentmp]]
}
{
:local arrhex [:toarray "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F"]
:local rndmac ; :local tmp
:for x from=1 to=12 step=1 do={
:set tmp ([$randomnum] % 16)
# this makes it always a valid MAC
:if ($x = 2) do={:set tmp (($tmp | 0x2) & 0xE)}
:set rndmac "$rndmac$($arrhex->$tmp)"
:if ([:tostr [:len $rndmac]] ~ "(2|5|8|11|14)") do={:set rndmac "$rndmac:"}
}
:put $rndmac
/interface ethernet set ether1 mac-address=$rndmac
}
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Какого там "научного" тыка - просто содрали скрипт Rextended с официального форума.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947