Как сравнить IP-адреса в полях скрипта Kibana с нотацией CIDR? - PullRequest
1 голос
/ 15 марта 2020

Можно ли создать поле сценария Kibana, которое сравнивает значения IP-адресов с использованием нотации CIDR? Или я просто могу сделать это с помощью регулярных выражений, рассматривая поля IP как строки?

Например, я хочу вернуть все внешние адреса в данных сетевого потока, чтобы использовать их в другом случае. Данные имеют source.ip и destination.ip. Моя сеть 192.168.0.0/24, и мне нужны все другие разные адреса.

Следующее сравнение не работает (только пример).

if (doc['source.ip'].value == "192.168.0.0/24") { 
    return doc['destination.ip'].value;
} else {
    return doc['source.ip'].value;
}

Спасибо.

1 Ответ

0 голосов
/ 16 марта 2020

Поле сценария es IP имеет только строковый тип, поэтому ... это просто, например.

if (doc['source.ip'].value.indexOf('192') || doc['source.ip'].value.indexOf('172.16') || 
|| ... || doc['source.ip'].value.indexOf('172.31')) { # if you want more...
    return doc['destination.ip'].value;
} else {
    return doc['source.ip'].value;
}

У нас похожая ситуация, добавьте флаг в logsta sh, чтобы указать, что соединение обратное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...