среда, 4 ноября 2015 г.

Проверяем доступность портов

Очень часто возникает потребность проверить порт на состояние открыт/закрыт. Но не многие смогут ответить на вопрос сколько есть способов для этого, и как проверить, например, открыт ли UDP порт. Ответы на эти вопросы постарась ответить в этой заметке.

1) Проверка TCP-порта.
На дыннй момент мне удалось найти 3 метода, которыми это можно сделать:
— с помощью telnet:
Если соединение удачно, то увидим такой ответ:
$telnet 11.1.1.11 25
Trying 11.11.11.11...
Connected to mail.domain.com.ua.
Escape character is '^]'.
220 mail.domain.com.ua ESMTP Postfix

Если же неудачное, то такое:
$telnet 11.11.11.11 23
Trying 11.11.11.11...
telnet: connect to address 11.11.11.11: Operation timed out
telnet: Unable to connect to remote host

Иногда в дополнении появляется такое:
telnet: connect to address 11.11.11.11: Operation not permitted
— с помощью nc (netcat)
Если соединение удачно, то увидим такой ответ:
$nc -v 11.11.11.11 25
Connection to 11.11.11.11 25 port [tcp/smtp] succeeded!
220 mail.domain.com.ua ESMTP Postfix

Если же неудачное, то такое:
$nc -v 11.11.11.11 23
nc: connect to 11.11.11.11 port 23 (tcp) failed: Operation timed out

— с помощью nmap
Если соединение удачно, то увидим такой ответ:
#nmap  -p25 11.11.11.11
PORT   STATE SERVICE
25/tcp open  smtp

Если же неудачное, то такое:
#nmap  -p23 11.11.11.11
PORT   STATE  SERVICE
23/tcp closed telnet

Иногда при сканнировании выводится такое сообщение:
PORT   STATE    SERVICE
23/tcp filtered telnet

тогда сказать однозначно открыт или закрыт — нельзя.
2) Проверка UDP-порта.
Здесь всего 2 способа.
— с помощью nc (netcat)
Если соединение удачно, то увидим такой ответ:
$nc -uv 11.11.11.12 53
Connection to 11.11.11.12 53 port [udp/domain] succeeded!

Если же неудачное, то ничего не выводиться:
$nc -uv 11.1.1.12 50
$

— с помощью nmap
Если соединение удачно, то увидим такой ответ:
#nmap -sU -p U:53 11.1.11.12
PORT   STATE         SERVICE
53/udp open|filtered domain

Если же неудачное, то такое:
#nmap -sU -p U:53 11.1.11.13
PORT   STATE  SERVICE
53/udp closed domain

3) Выводы
telnet
Преимущества: лёгко и удобно пользоваться, установлена практически на любой ОС, для запуска не требуются права root’a.
Недостатки: нельзя проверять UDP порты
nc (netcat)
Преимущества: лёгко и удобно пользоваться, установлена практически на любой ОС, для запуска не требуются права root’a, есть возможность сканирования UDP-портов
Недостатки: не обнаружено.
nmap
Преимущества: удобно пользоваться, функционал просто радует, есть возможность сканирования UDP-портов
Недостатки: для запуска требуются права root’a, устанавливать приходиться отдельно.
Опубликовано с разрешения журнала root.ua

Взято без разрешения с http://skeletor.org.ua/?p=572