Система Orphus
Показаны сообщения с ярлыком port-check. Показать все сообщения
Показаны сообщения с ярлыком port-check. Показать все сообщения
[]

четверг, 19 февраля 2009 г.

port-check - чекаем порты без проблем или скрипт для проверки доступности портов


Нам, админам, довольно часто, точнее постоянно, приходится мониторить различные ресурсы своей сети и не редко удаленной. Если нет возможности поставить на хост средства мониторинга, то приходится проверить по портам. Раньше я это делал так:
netcat -w3 -z host port && echo OK
А что если нужно проверять несколько хостов и/или портов? Вот для этих целей и был написан скрипт.


Цель написания скрипта проста - возможность проверить несколько портов на одном и более хосте одной командой. Про существование различных программ я знаю, но не нашел подходящего для себя решения, поэтому написал свой скрипт основанный на netcat.

Ниже приведена справка по использованию скрипта port-check.
$ port-check --help

Скрипт port-check проверяет на доступность указанные порты на указанных хостах.
Возвращает количество закрытых портов.

Использование:
port-check [-q|-v] host port
port-check [-q|-v] host "port1 .. portN"
port-check [-q|-v] "host1 .. hostN" port
port-check [-q|-v] "host1 .. hostN" "port1 .. portN"



-q, --quiet
Ничего не выводить

-v, --verbose
Выводить т.ж. открытые порты, иначе только закрытые и не доступные хосты

-V, --version
Показать версию

-h, --help
Показать эту справку
Все проще некуда =)

А вот несколько примеров работы скрипта:
$ port-check -v "mail.ru google.com 10.0.0.1 192.168.0.1" "80 443 ssh 21"
mail.ru:80 open
mail.ru:443 CLOSE!!!
mail.ru:ssh CLOSE!!!
mail.ru:21 CLOSE!!!
google.com:80 open
google.com:443 open
google.com:ssh CLOSE!!!
google.com:21 CLOSE!!!
Host 10.0.0.1 unreachable!!!
192.168.0.1:80 open
192.168.0.1:443 CLOSE!!!
192.168.0.1:ssh CLOSE!!!
192.168.0.1:21 open


$ port-check -v "mail.ru google.com 10.0.0.1 192.168.0.1" 80
mail.ru:80 open
google.com:80 open
Host 10.0.0.1 unreachable!!!
192.168.0.1:80 open


$ port-check -v mail.ru "80 443 ssh 21"
mail.ru:80 open
mail.ru:443 CLOSE!!!
mail.ru:ssh CLOSE!!!
mail.ru:21 CLOSE!!!


$ port-check -v 10.0.0.1 "80 443 ssh 21"
Host 10.0.0.1 unreachable!!!


$ port-check -q 10.0.0.1 "80 443 ssh 21"


$ port-check "mail.ru google.com 10.0.0.1 192.168.0.1" "80 443 ssh 21"
mail.ru:443 CLOSE!!!
mail.ru:ssh CLOSE!!!
mail.ru:21 CLOSE!!!
google.com:ssh CLOSE!!!
google.com:21 CLOSE!!!
Host 10.0.0.1 unreachable!!!
192.168.0.1:443 CLOSE!!!
192.168.0.1:ssh CLOSE!!!
Вот и все. Надеюсь все понятно и наглядно.

Скачать port-check можно по этой ссылке. Пользуйтесь на здоровье.

Почти каждая строка в скрипте прокомментирована. Уверен, что даже новичок сможет разобраться, как работает скрипт.
Скрипт писал довольно долго, много тестировал, поэтому версия сразу 1.0 и, скорее всего, финальная. Даже не представляю, что еще в него можно добавить...


Критика/комментарии/мнения/etc с радостью принимаются :)))