Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS.
По всем вопросам @evgenycarter
Post #424
803
Как быстро проверить доступность множества портов на удалённом сервере?
Бывало у вас такое, что нужно быстро проверить, какие порты открыты на удалённом сервере? Конечно, можно запускать telnet или nc по одному, но это долго и неудобно. Сегодня покажу вам, как можно быстро проверить несколько портов разом.
1. Используем nc (netcat)
Если у вас есть netcat, можно проверить сразу несколько портов в диапазоне:
Флаг -z говорит nc просто проверить подключение (без отправки данных), а -v включает режим подробного вывода.
2. Проверяем диапазон портов с seq
Когда портов много, можно использовать seq:
Так мы пробежимся по всем портам от 20 до 1024 и увидим, какие из них доступны.
3. Используем nmap для удобства
Если у вас установлен nmap, это еще удобнее:
А если хотите просканировать диапазон портов:
4. Альтернативный вариант – bash с /dev/tcp
Можно даже без сторонних утилит, просто с помощью встроенных средств Bash:
👉 @i_linux
Бывало у вас такое, что нужно быстро проверить, какие порты открыты на удалённом сервере? Конечно, можно запускать telnet или nc по одному, но это долго и неудобно. Сегодня покажу вам, как можно быстро проверить несколько портов разом.
1. Используем nc (netcat)
Если у вас есть netcat, можно проверить сразу несколько портов в диапазоне:
nc -zv 192.168.1.100 22 80 443 8080Флаг -z говорит nc просто проверить подключение (без отправки данных), а -v включает режим подробного вывода.
2. Проверяем диапазон портов с seq
Когда портов много, можно использовать seq:
for port in $(seq 20 1024); do nc -zv 192.168.1.100 $port 2>&1 | grep succeeded; doneТак мы пробежимся по всем портам от 20 до 1024 и увидим, какие из них доступны.
3. Используем nmap для удобства
Если у вас установлен nmap, это еще удобнее:
nmap -p 22,80,443,8080 192.168.1.100А если хотите просканировать диапазон портов:
nmap -p 1-65535 192.168.1.1004. Альтернативный вариант – bash с /dev/tcp
Можно даже без сторонних утилит, просто с помощью встроенных средств Bash:
for port in 22 80 443 8080; do
(echo >/dev/tcp/192.168.1.100/$port) &>/dev/null && echo "Порт $port открыт" || echo "Порт $port закрыт"
done👉 @i_linux
- 👍 8











