TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #2637 10K
​​В разных заметках я вскользь касался утилиты командной строки Linux — netcat или сокращённо nc. Эта старя и полезная unix утилита, которая заслуживает отдельной публикации, чтобы сохранить её в закладки. С помощью nc удобно устанавливать TCP соединения и принимать и отправлять UDP пакеты во время отладки и настройки сети и фаерволов.

✅ Самый простой случай. Проверим, отвечает ли TCP порт:
# nc -vz 192.168.13.113 139
Connection to 192.168.13.113 139 port [tcp/*] succeeded!
Ключ -v выводит отладочную информацию, которая как раз включает информацию о статусе подключения, -z — режим сканирования.

✅ Можно быстро просканировать диапазон портов, не прибегая к посторонним инструментам. Это удобнее и быстрее, чем ставить и вспомнить ключи nmap.
# nc -vz 192.168.13.113 1-1023 2>&1 | grep succeeded
Connection to 192.168.13.113 135 port [tcp/*] succeeded!
Connection to 192.168.13.113 139 port [tcp/*] succeeded!
Connection to 192.168.13.113 445 port [tcp/*] succeeded!
Я тут сразу обработал вывод, показав только открытые порты. Без фильтрации nc вывалит информацию по всем портам сразу в консоль, что неудобно для больших диапазонов.

Отправляем UDP пакет:
# nc -zvu 212.193.62.10 53
Connection to 212.193.62.10 53 port [udp/domain] succeeded!
Просто добавляем ключ -u к командам выше. Статус порта тут не всегда показывает правду, так что ориентироваться на него не стоит. Это инструмент именно для отправки пакета. Для сканирования udp портов лучше взять nmap, zmap или masscan.

Netcat удобно использовать, когда отлаживаешь firewall. С его помощью можно поднять сервис на нужном порту и постучаться в него. Я чаще всего использую его для проверки правил, когда делаю заметки на тему фаерволов.

Поднимаем службу на 11222 порту:
# nc -lvp 11222
Ncat: Listening on 0.0.0.0:11222
С другого сервера подключаемся:

# nc -v 192.168.13.113 11222
Connection to 192.168.13.113 11222 port [tcp/*] succeeded!
Теперь в терминал клиента можно что-то написать, а на сервере в терминале он отобразится. Если всё нормально, в настройках firewall всё в порядке. Можно для верности соответствующие правила посмотреть и счётчики пакетов на них.

✅ Таким образом даже файлы можно передавать, или целые директории. Для этого надо открыть сервер и направить его вывод в файл.
# nc -lvp 11222 > recive.txt
А на клиенте подключиться и передать файл:
# nc -v 192.168.13.113 11222 < info.txt
Передавать таким образом можно любой файл, а не только текстовый. Также вывод можно направить сразу в shell. Этим пользуются злоумышленники, если имеют возможность запустить nc на сервере.
Из этой же серии возможность передать образ диска по сети с помощью dd и nc. Выглядит примерно так. Сервер:
# nc -lvp 11222 > dd of=/backup/sda.img.gz
Клиент:
# dd if=/dev/sda | gzip -c | nc 192.168.13.113 11222
Но конкретно эту задачу удобнее решить с помощью ssh:
# dd if=/dev/sda | ssh root@192.168.13.113 "dd of=/dev/sda"

✅ Netcat может выступать в качестве веб сервера, если ему передать html страницу на вход.
# while true; do nc -lp 80 < /var/www/html/index.html; done
По ip адресу сервера откроется дефолтная апачевская страничка.

У netcat насыщенный функционал. Можно почитать в man. Он хорошо оформлен с реальными примерами и описанием функционала. Netcat умеет менять адрес и порт клиента, использовать прокси с аутентификацией, подключаться к unix сокету и т.д.


#terminal #linux
  • 👍 153
  • 👎 2
More from @srv_admin
  1. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  2. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
  3. Sep 23, 2026Расскажу тем, кто не знает, и напомню тем, кто забыл, как я. Не надо в Proxmox в LXC конте…
  4. Sep 22, 2026Недавно случайно заметил любопытную информацию на тему Proxmox VE и новой функциональности…
  5. Sep 22, 2026✔️ Сети для всех — сообщество для тех, кто развивается в сетевом и системном администриров…
  6. Sep 22, 2026Я ранее уже рассказывал, что приобрёл себе домой полноценную серверную платформу на базе S…
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 →