Назад | Перейти на главную страницу

Легко получить список сеансов из Juniper Netscreen

У меня есть Juniper Netscreen SSG-5, который иногда получает большое количество сеансов. У меня 4096 лицензированных сессий, и иногда я вижу 3000+ для небольшого офиса (около дюжины человек). Это выше, чем мне хотелось бы, и меня немного больше интересуют открытые сеансы.

В идеале я бы перебросил вывод команды «get session» в текстовый файл, но ScreenOS не поддерживает это. По крайней мере, это мне известно. Пожалуйста, дайте мне знать, если это так.

Запретив возможность сохранять вывод в файл, если бы я мог каким-то образом получить список сеансов через SNMP, я бы удовлетворился записью его таким образом, но все, что мне удалось найти, это количество активных сессии (предприятия.3224.16.3.2.0).

Я мог бы написать сценарий, используя 'nc' для подключения к сетевому экрану и несколько раз нажимая Enter, чтобы пролистать несколько тысяч строк, но это кажется менее забавным, чем делать это «правильным путем», если такой способ существует.

Я понял!

Без моего ведома, ScreenOS может передавать вывод любой команды на tftp-сервер!

Использование:

 <command> > tftp <tftp ip address> <filename>

Теперь, когда это текстовый файл, я могу работать с командами grep, sed и awk до глубины души.

Если вы хотите получить некоторую статистику по выходным данным сеанса, для этого есть небольшой инструмент под названием «Анализатор сеанса межсетевого экрана». Если у вас есть учетная запись Juniper, вы можете получить к ней доступ по адресу www.juniper.net/fsa. Если нет, вы можете использовать хороший инструмент, разработанный Тимом Эберхардом, вы можете скачать его по адресу: http://performanceclassifieds.net/NSSA.zip

Надеюсь, это поможет вам!

Это лучше в качестве комментария к вашему ответу, но опубликовать его как новый ответ, чтобы я мог отформатировать свой код для вас - вы можете использовать SSH, чтобы создать сценарий для себя (или любую другую команду, я использую ее для очистки кеша DNS каждые 5 минут для пользователей DynDNS).

  1. создать пару ключей ssh ​​без пароля типа DSA
  2. создайте пользователя Netscreen с соответствующим уровнем доступа для выполнения ваших команд и поместите часть открытого ключа в его учетную запись
  3. в вашем локальном Linux-окне настройте ниже

    #! / bin / sh
    ФАЙЛ ДАННЫХ = / opt / etc / fwcommands.dat
    KEYFILE = / корень / .ssh / id_dsa_fw
    / usr / bin / ssh -T -i $ {KEYFILE} USER @ FIREWALL <$ {DATFILE}

... а затем в вашем файле fwcommands.dat находится то, что вы хотите запустить; так что-то вроде:

exec get sessions > tftp ip file
exit

Затем вы можете cron запускать его каждый час или еще много чего и настроить его для отправки вам результатов по электронной почте, что вам лично нужно. (форматирование напортачило, serverfault ненавидит встроенные скрипты bash).