💡 Как проверить, открыт ли порт на нескольких удаленных системах Linux с помощью скрипта оболочки с помощью команды nc👨⚕️ |

💡 Как проверить, открыт ли порт на нескольких удаленных системах Linux с помощью скрипта оболочки с помощью команды nc👨⚕️

Мануал

Недавно мы написали статью, как проверить, открыт ли порт на удаленном сервере Linux.

Это поможет вам проверить наличие у одного сервера.

Если вы хотите проверить наличие пяти серверов, то проблем не возникает, вы можете использовать любую из следующих команд, например, nc (netcat), nmap и telnet.

Если вы хотите проверить наличие более 50 серверов, то каким будет решение?

Чтобы преодолеть эту ситуацию, я написал небольшой сценарий оболочки с помощью команды nc, которая позволит нам сканировать любое количество серверов с данным портом.

Если вы ищете сканирование одного сервера, то у вас есть несколько вариантов, чтобы узнать больше об этом.

Просто перейдите по следующему URL-адресу 3 способа проверить, открыт ли порт на удаленной системе Linux

или же по этому

4 способа узнать, какие порты прослушиваются в Linux

В этом руководстве доступны два скрипта, и оба полезны.

Оба используются для разных целей, что легко понять, прочитав заголовок.

Что такое команда nc (netcat)?

nc означает netcat.

Netcat – это простая утилита Unix, которая читает и записывает данные через сетевые соединения, используя протокол TCP или UDP.

Инструмент разработан, чтобы быть надежным «внутренним» инструментом, который может использоваться напрямую или легко управляться другими программами и скриптами.

В то же время это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые типы соединений, которые вам понадобятся, и имеет несколько интересных встроенных возможностей.

Netcat имеет три основных режима работы.

Это режим подключения, режим прослушивания и туннельный режим.

Общий синтаксис для nc (netcat):

$ nc [-options] [HostName или IP] [PortNumber]

Как проверить, открыт ли порт на нескольких удаленных серверах Linux?

Используйте следующий скрипт оболочки, если вы хотите проверить, открыт ли данный порт на нескольких удаленных серверах Linux или нет.

В моем случае мы собираемся проверить, открыт ли порт 22 на следующих удаленных серверах.

Вам нужно обновить список серверов в файле server-list.txt. Каждый сервер должен быть в отдельной строке.

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

Используйте следующий скрипт для достижения этой цели.

# vi port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
#echo $i
nc -zvw3 $server 22
done

Установите права на разрешение для файла port_scan.sh.

$ chmod +x port_scan.sh

Наконец, запустите скрипт:

# sh port_scan.sh

Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!

Как проверить, открыты ли несколько портов на нескольких удаленных серверах Linux?

Используйте следующий скрипт, если вы хотите проверить несколько портов на нескольких серверах.

В моем случае мы собираемся проверить, являются ли порты 22 и 80 открытыми на данных серверах.

Обязательно замените нужные вам порты и имена серверов вместо наших.

Вам нужно обновить списки портов в файл port-list.txt. Каждый порт должен быть в отдельной строке.

# cat port-list.txt
22
80

Вам также нужно обновить список серверов в файл server-list.txt. Каждый сервер должен быть в отдельной строке.

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

Используйте следующий скрипт:

# vi multiple_port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
for port in `more port-list.txt`
do
#echo $server
nc -zvw3 $server $port
echo ""
done
done

Установите права на разрешение для файла multiple_port_scan.sh

$ chmod +x multiple_port_scan.sh

Запустите скрипт:

# sh multiple_port_scan.sh
Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.2 80 port [tcp/http] succeeded!

Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 80 port [tcp/http] succeeded!

Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 80 port [tcp/http] succeeded!

Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 80 port [tcp/http] succeeded!

Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 80 port [tcp/http] succeeded!

Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 80 port [tcp/http] succeeded!

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий