На работе команда инфраструктуры развертывает новые виртуальные машины с RHEL7, установленным в качестве базовой ОС. Этот конкретный образ поставляется с nmap-ncat
версией Netcat и не имеет установленного NMap. Нам запрещено устанавливать что-либо на машины.
Ранее мы использовали GNU Netcat, у которого есть -z
возможность сканировать удаленный хост / порт, чтобы проверить, открыт ли он. Что-то вроде этого:
nc -z -v -w 3 remote.host.name 1234
Как я могу добиться такой же проверки с новым, ncat
который не имеет -z
опции в системе, где я не могу установить nmap
?
-z
войти в Ncat, но некоторое время он не будет в Red Hat, я уверен: github.com/nmap/nmap/pull/444Ответы:
Bash позволяет подключаться к портам TCP и / или UDP путем перенаправления на специальные файлы:
Поэтому, чтобы проверить, можете ли вы подключиться к порту 80 на www.example.com, должно работать следующее:
Если порт заблокирован, вы получаете сообщение «Отказано в соединении» или время ожидания.
источник
Хотя Ncat еще не поддерживает
-z
, вы можете получить то же поведение с перенаправлением оболочки:Тайм-аут подключения можно настроить с помощью
-w
опции.РЕДАКТИРОВАТЬ: Ncat 7.25BETA2 представил
-z
опцию, которая работает так же, как и с GNU netcat, но только на отдельных портах. Если вам нужно сканировать диапазоны портов, вы должны использовать Nmap.источник
Ни netcat, ни telnet, ни nmap не нужны. Bash проще, портативнее и эффективнее.
Открытый чек
Открытый / закрытый чек
Проверка диапазона портов
источник