Сканируем сети с помощью скриптов Bash

В этой небольшой статье делимся простыми скриптами сканирования и мониторинга сети с использованием комбинации команд bash и ping/

Сканируем подсети

Здесь bash-скрипт просканирует сеть на предмет хостов, подключенных по IP-адресам 10.1.1.1 – 255.

Скрипт выведет сообщение Хост с IP → IP-адрес поднят, если команда ping была успешной.

На всякий случай: мы можем менять скрипт для сканирования диапазона хостов. Вот сам скрипт:

#!/bin/bash

is_alive_ping()
{
  ping -c 1 $1 > /dev/null
  [ $? -eq 0 ] && echo Хост с IP: $i поднят.
}

for i in 10.1.1.{1..255} 
do
is_alive_ping $i & disown
done

Выполнение скрипта:

./bash_ping_scan.sh

Настраиваем уведомление по почте, когда сервер не работает

Системный администратор может регулярно выполнять этот скрипт с использованием планировщика cron. Как это работает:

  1. Скрипт использует команду ping для проверки связи с хостом или IP-адресом, указанным в качестве аргумента.

  2. В случае, если место назначения недоступно → в ход вступает команда mail для уведомления системного администратора об этом событии.

Сам скрипт:

Выполнение скрипта:

Создаем логи мониторинга

Это улучшенная версия предыдущего примера. Подходит для сценария, когда в системе не настроена почта. Скрипт здесь сам создаст файл логов.

Ядро скрипта заключено в бесконечный цикл while, который настроен на выполнение проверки ping каждый час. Если собираетесь использовать скрипт с планировщиком cron → удалите бесконечный цикл while.

Сам скрипт:

Выполнение скрипта:

Last updated