Страница 1 из 1
Скрипт для нахождения IP адресов в Address List из одной подсети 0/24
Добавлено: 22 июл 2023, 22:29
OlimpFil
Сможет ли кто-нибудь за вознаграждение написать скрипт: получить список IP адресов из address list "!!!-= RDP BAN =-!!!" у которых первые три октета IP адреса одинаковые, а отличается только последний и таких адресов более четырех. Т.е. найти в address list "!!!-= RDP BAN =-!!!" такие подсети, в которых в одной подсети 4 и более IP адресов, чтобы потом уже вручную заблочить всю подсеть 0/24.
RouterOS 6.49.3
Re: Скрипт для нахождения IP адресов в Address List из одной подсети 0/24
Добавлено: 28 июл 2023, 12:19
Sertik
Писать не хочется. Нужно использовать posix regex. Вот тема в помощь
https://forum.mikrotik.com/viewtopic.ph ... 84#p871284
Попробую спросить для Вас на оффоруме, абсолютно бесплатно, конечно, одного знающего человека, для которого такое написать - раз плюнуть ... Если будет выхлоп, выложу.
Re: Скрипт для нахождения IP адресов в Address List из одной подсети 0/24
Добавлено: 02 авг 2023, 09:36
Sertik
Ловите, бесплатно:
Код: Выделить всё
# название нашего адрес-листа
:local list "blocklist"
# лимит наполнения одинаковыми адресами
:local count 4
# наполнение адрес-листа адресами
/ip firewall address-list {
:local ip2net do={:return [[:parse ":return $($1 & 255.255.255.0)/$2"]]}
:local addr 0.0.0.0
:local net 0.0.0.0
:foreach item in=[find where ([:typeof [:toip $address]]="ip")] do={
:set addr [get $item address]
:set net [$ip2net $addr 24]
:if ([:len [find where $address in $net]] > $count) do={
:put "\r\nSearch results for $net"; print where $address in $net
add address=$addr list=$list timeout=24h
}
}
}
# блокировка
/ip firewall filter add action=drop chain=input comment="Dropping dangerous adresses" src-address-list=$list
Но с оговорочкой ! Скрипт работает не совсем правильно. За правильным - в личку.
Сможете поправить сами - молодец ! тогда будет бесплатно ...