ping скрипт

Сегодня возникла задача пропинговать все адреса в локальной сети и посмотреть время пинга до каждого.
Для этого решил написать простенький скрипт:

#!/bin/bash
echo 'введите первые 3 байта сети в формате 0.0.0 и количество посылаемых пинг пакетов на компьютер'
MAXPARAMS=3

#Если вызывается скрипт без параметров или с ошибочным количеством параметров то идет объяснение как его использовать
if [ $# -lt "$MAXPARAMS" ];
then
echo
echo "Использование: `basename $0` [количество пингов] [первые 3 байта сети в формате 0.0.0] [файл вывода]"
echo
exit 0
fi

# Ругаемся если параметров слишком много
if [ $# -gt "$MAXPARAMS" ];
then
echo
echo "Для этого скрипта нужно только $MAXPARAMS аргумента командной строки!"
echo
exit 0
fi

#перечисляем переменные
HOW=$1 # количество пингов на каждый комп
IPRANGE=$2 # первые 3 байта сети
OUTFILE=$3 # файл куда будем писать лог
COUNTER=1 #счетчик 1..254
# запускаем цикл подстановки 1..254 в команду пинг
while [ $COUNTER -lt 255 ] do
echo 'now ping '$IPRANGE'.'$COUNTER #пишем какой компьютер пингуется в данный момент
ping '-c' $HOW $IPRANGE'.'$COUNTER>>$OUTFILE #непосредственно пинг
let COUNTER=COUNTER+1 #увеличиваем счетчик на 1
done

В принципе в этом скрипте есть все пояснения к нему, но предупрежу что скрипт не проверяет что именно было введено в качестве параметров, так что будте аккуратны при вводе параметров.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

Please Login to Comment.