Мы можем использовать следующее для тестирования порта Telnet VIA; в следующем примере мы тестируем порт 6667:
[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host
Поскольку на некоторых машинах мы не можем использовать telnet (по внутренним причинам), какие есть альтернативы для проверки портов, как telnet?
linux
networking
curl
telnet
Яэль
источник
источник
telnet
Утилита выключает поведение протокола , если порт задается в командной строке. Тогда он ведет себя так жеnetcat
, как при обнаружении окончания строки.Ответы:
Если вы используете Bash Shell, то вы можете использовать его функцию, чтобы проверить, открыт порт или закрыт:
Обратите внимание, что если сервер не отвечает через 1 секунду после истечения времени ожидания, команды между ними
'
прерываются, и, таким образом, ничего не печатается.источник
127.0.0.1
, что делает его похожим, что оно работает только с обратной связью.(timeout 1 bash -c '</dev/tcp/www.google.com/444 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
ничего не печатает для меня.(timeout 1 bash -c '</dev/tcp/www.google.com/444' && echo PORT OPEN || echo PORT CLOSED) 2>/dev/null
работал как положено (печатает ПОРТ ЗАКРЫТО). Обратите внимание на расположение'
.Netcat является одним из вариантов.
-z
= устанавливает nc для простого сканирования прослушивающих демонов, без фактической отправки им данных-v
= включает подробный режимисточник
nc
ведет себя очень похожеtelnet
.Золотой стандарт, несомненно,
nmap
( nmap.org ), но для получения «лучших результатов» обычно требуется рут. Однако доступны автономные двоичные файлы, и его можно запускать как непривилегированный пользователь, просто с ухудшенными возможностями. Например, вместо скрытогоsyn
сканирования (-sS
) он возвращается к стандартному сканированию TCP-подключения (-sT
). Это функционально эквивалентно netcat, но с хорошими возможностями ускорения для нескольких хостов.Пример:
источник
Если Perl является опцией, вы можете использовать его
IO::Socket
модуль для проверки соединения с конкретным хостом и портом; приведенный ниже скрипт жестко кодирует TCP в качестве протокола (именно так будет использовать telnet):Пример вывода из закрытого порта:
Пример вывода с открытого порта:
источник
Файл устройства / dev / tcp и / dev / udp можно использовать вместо telnet. Пример: echo 0> /dev/tcp/103.64.35.86/6667. Затем проверьте состояние выхода с помощью #echo $? , Если статус выхода равен 0, то порт открыт. Если состояние выхода не равно нулю, то порт закрыт. Для проверки пакетов udp используйте echo 0> /dev/udp/103.64.35.86/6667.
источник
это еще одна команда, которую вы можете использовать.
источник