LINUX.ORG.RU
ФорумJob

Внести изменения в perl скрипт

 , ,


0

1

Здравствуйте.

Есть у меня perl скрипт. Я в perl не алё. Что он делает, он смотрит сколько подключений на порту и сверяет со списком, если больше чем в списке то шлет письмо. В списке все выглядит так

7011 10 mail@mail.ru Одна строка - один порт порт количество почта

Так он узнает сколько куда и кого подключено

# Команда для получения данных о соединениях и портах
$get_data_cmd = 'netstat -n';

проблема в том, что раньше порты не дублировались, т .е.

tcp        0      0 16.9.6.6:7011      2.5.1.8:52801        ESTABLISHED
tcp        0      0 16.9.6.6:7011      2.5.1.8:52802        ESTABLISHED

если в списке был порт 7011 и, например, информировать при 1 подключении, то все работало, теперь пришлось на ip в 5 столбце тоже использовать порт 7011, получается вот что

tcp        0      0 16.9.6.6:7011      7.158.2.42:57175    ESTABLISHED
tcp        0      0 16.9.6.6:56058     2.5.1.8:7011        ESTABLISHED
tcp        0      0 16.9.6.6:37908     2.5.1.8:7011        ESTABLISHED
tcp        0      0 16.9.6.6:7011      7.70.21.8:49727     ESTABLISHED

и для скрипта это уже 4 соединения, а это ложные срабатывания.

Нужно «объяснить» скрипту что порты считаем только в 4 столбце. Пробовал вставлять всякие awk, но все ломается.

Если кто захочет помочь, напишите в личку, обсудим гонорар. Спасибо.


$get_data_cmd = ‘netstat -n’;

По-хорошему надо портировать на ss, если на сервере много соединений, то netstat тормозит гораздо сильнее

Нужно «объяснить» скрипту что порты считаем только в 4 столбце.

Может быть все-таки в третьем? В четвертом порты другой стороны

Если кто захочет помочь, напишите в личку

На ЛОРе нет лички

annulen ★★★★★ ()
Ответ на: комментарий от annulen

если на сервере много соединений

максимум 2000, это вроде как не особо много

Может быть все-таки в третьем?

16.9.6.6:7011, да не, вроде как в четвертом, это же 4 столбец

нет лички

я тут не живу, не знал, ну тогда сюда

xohox ()
Ответ на: комментарий от gremlin_the_red

я так пробовал, только разница была в netstat, я нашел почему не работало, невнимательность, я не обратил внимание на вот это после строки —> ; поставил и все заработало)

в любом случае, главное что заработало) куда отправить и сколько?

xohox ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.