TGViewer
Linux | Network | DevOps Linux | Network | DevOps @linautonet · 808 subscribers
Post #438 534
Сканируем открытые порты без Nmap

Иногда нужно быстро проверить доступные TCP-порты, а nmap, nc и других привычных утилит на сервере нет.

Если установлен Bash, можно использовать встроенный механизм
/dev/tcp:

for port in {20..1024}; do
  (echo > /dev/tcp/127.0.0.1/$port) >/dev/null 2>&1 \
    && echo "Порт $port открыт"
done

Скрипт проверяет порты с 20-го по 1024-й на локальной машине.

⚙Как это работает:

🟡Bash пытается установить TCP-соединение с указанным адресом и портом;
🟡если подключение прошло успешно, команда завершается с кодом 0;
🟡после && выводится сообщение об открытом порте;
🟡ошибки и лишний вывод отправляются в /dev/null.

Вместо 127.0.0.1 можно указать IP-адрес другого сервера:

host="192.168.1.10"

for port in {20..1024}; do
  (echo > /dev/tcp/$host/$port) >/dev/null 2>&1 \
    && echo "$host:$port открыт"
done

Но есть нюанс: если порт фильтруется межсетевым экраном, попытка подключения может надолго зависнуть.

Поэтому лучше добавить ограничение по времени:

host="192.168.1.10"

for port in {20..1024}; do
  timeout 0.3 bash -c "echo > /dev/tcp/$host/$port" \
    2>/dev/null && echo "$host:$port открыт"
done

💡 /dev/tcp — это не настоящий каталог в файловой системе, а специальная возможность Bash. В sh, dash и некоторых других оболочках этот способ работать не будет.

Конечно, такой скрипт не заменит полноценный nmap: он не определяет сервисы и их версии, не поддерживает разные типы сканирования и последовательно проверяет каждый порт.

Но когда нужно быстро проверить порт, а дополнительных инструментов нет, — отличный Linux-трюк.

Telegram 😍
Tg чат 🌐
YouTube 🌐
VK 🌐
Rutube 📺

#bash #linux #sysadmin
More from @linautonet
  1. Oct 1, 2026👾Dive — разбираем Docker-образ по слоям Иногда Docker-образ весит подозрительно много, а…
  2. Sep 27, 2026👾 Chaos Mesh: ломаем Kubernetes специально, чтобы он не сломался неожиданно Обычно мы ста…
  3. Sep 21, 2026🔎Команда find — ищем всё, что угодно Команда find — один из самых мощных инструментов Lin…
  4. Sep 19, 2026👾 KubeLab — Kubernetes, который можно изучать руками Нашёл интересный open-source проект…
  5. Sep 14, 2026Awesome Docker — большая подборка инструментов и материалов по Docker Если работаете с кон…
  6. Sep 10, 2026👩‍💻Tabby, Skerry или Electerm: сравниваем три бесплатных SSH-клиента Tabby — современный…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →