@Daniil_sysadmin

Как реализовать работающий скрипт на RouterOS 7.15.3?

Нужно в логах найти message: 92.39.139.179 parsing packet failed, possible cause: wrong password, скрипт должен отработать по поиску "parsing packet failed, possible cause: wrong password" и вычленить ip адрес и занести его в черный список, на просторах интернета и с помощью Yandex GPT нашел такое решение, но с маской /24
:foreach i in=[/log find message~"^\\d+\\.\\d+\\.\\d+\\.\\d+ parsing packet failed, possible cause: wrong password"] do={
    :local msg [/log get $i message];
    :local ip ([:pick $msg 0 [:find $msg "." ([:find $msg "." ([:find $msg "."] + 1)] + 1)]].".0/24");
    /ip firewall address-list add list=block_vpn_access address=$ip;
}

И вроде как строку ":local ip ([:pick $msg 0 [:find $msg "." ([:find $msg "." ([:find $msg "."] + 1)] + 1)]].".0/24");" нужно лишь заменить на ":local ip ([:pick $msg 0 [:find $msg "." [:find $msg " "]]]);" но при таком раскладе скрипт вообще не работает, ответ совсем очевидный и я не понимаю, или всё не так просто?
  • Вопрос задан
  • 303 просмотра
Решения вопроса 1
@dronmaxman
VoIP Administrator
:local msg "192.168.1.123 parsing packet failed, possible cause: wrong password"
:local ipAddress [:pick $msg 0 [:find $msg " parsing packet failed"]]
:log info "IP Address: $ipAddress"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы