Очень часто возникает потребность проверить порт на состояние открыт/закрыт. Но не многие смогут ответить на вопрос сколько есть способов для этого, и как проверить, например, открыт ли 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