Найти в Дзене
ИТ разнообразно

Прекратите использовать Telnet для тестирования портов. Часть 1.

Упростите свою жизнь, автоматизируя проверку сети с помощью инструментов, таких как Expect, Bash, Netcat и Nmap

Большинство системных администраторов знают, что такое Telnet. До появления более надёжных и безопасных альтернатив, таких как Secure Shell (SSH), Telnet был наиболее распространённым способом доступа к удалённым системам. Протокол Telnet не зашифрован, поэтому люди больше не используют его для предоставления доступа к серверу. Вместо этого люди используют его, чтобы проверить, прослушивает ли служба данный порт, вот так: telnet $machine $port. Например:

$ telnet raspberrypi 8086
Trying fd22:4e39:e630:1:dea6:32ff:fef9:4748...
Connected to raspberrypi.
Escape character is '^]'.
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Connection: close
400 Bad RequestConnection closed by foreign host.

Нажмите Ctrl+D, чтобы выйти из сеанса, или нажмите клавишу, чтобы заставить сервер закрыть соединение.

Это прекрасно работает, если вы тестируете только одну службу и один порт, но что, если вам нужно выполнить автоматические проверки на большой комбинации хостов и портов? Я предпочитаю, чтобы мой компьютер делал за меня скучную работу, особенно при тестировании базовых соединений TCP/IP, таких как открытые порты.

В этой статье я покажу вам, как выполнить следующие задачи:

  • улучшить использование Telnet с помощью Expect
  • сделать то же самое с Bash
  • использовать Netcat в качестве замены для проверки порта TCP
  • использовать Nmap для выполнения более сложных проверок

Примеры, которые я использую, будут сосредоточены на тестировании соединений TCP, а не UDP, что выходит за рамки этой статьи.

Продолжение следует...

Перевод с некоторыми авторскими заголовками.

Автор оригинала: Jose Vicente Nunez (Sudoer).