Netcat

У Вікіпедії є статті про інші значення цього терміна: NetCat (система керування контентом).
netcat (NetCat)
Тип мережева утиліта (TCP, UDP)
Розробник Hobbit
Стабільний випуск 0.7.1 (11 січня 2004)
Платформа Windows
Операційна система UNIX
Мова програмування C
Ліцензія GPL
Вебсайт netcat.sourceforge.net

netcat (англ. net мережа + cat) — утиліта Unix, що дозволяє встановити з'єднання TCP та UDP, отримувати та передавати звідти дані. Незважаючи на простоту та користь, ця утиліта не включена до жодного стандарту.

Використання

Зазвичай netcat викликається так:

nc host port

Це призводить до створення TCP-з'єднання зі вказаними реквізитами та переключення стандартного вводу на мережевий вивід і навпаки. Функціональність програми нагадує команду cat, що й зумовило вибір назви. При неможливості з'єднання програма виводить помилку на stderr.

Утиліта розпізнає такі параметри:

 -h Довідка; нічого не робиться
 -v Детальний вивід даних (англ. verbose)
 -o файл_виходу Записує дамп даних у файл
 -i число Затримка між даними, що надсилаються (у секундах)
 -t Сумісність із Telnet
 -z Не надсилати дані (сканування портів)
 -u Підключатись за допомогою UDP (замість TCP)
 -l Пасивний режим (прослуховування порту)
 -p число Локальний номер порту (для -l)
 -s хост Використовувати задану локальну («свою») IP-адресу
 -n Вимкнути DNS та пошук номерів портів у /etc/services
 -w число Задати тайм-аут (у секундах)
 -q число Задати час очікування після EOF на вході (у секундах)
 -e виконуваний_файл ! Запустити вказану програму для обміну даними з мережею (замість стандартних потоків)
 -с команда ! Теж саме, у вигляді команди для /bin/sh

! — потрібна спеціальна збірка (оскільки створює мережеву уразливість), у бінарних файлах, що зазвичай постачаються, відсутня.

Застосування

  • Тестування і ручна робота з мережевими протоколами;
  • Перевірка доступності портів;
  • Мережевий інтерфейс для оболонки UNIX (втім, деякі версії bash можуть підключатись за допомогою TCP та UDP самостійно);
  • (З параметром -l) створення простих серверів, зазвичай тестових;
  • (Сумісно з inetd) перенаправлення портів.

Приклади

Відображення тестової HTML-сторінки клієнту зі звичайним браузером однією командою (порт 8080):

(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc -vv -l -p 8080

Передавання файлу клієнтові зі звичайним браузером (порт 8080):

(echo -e "HTTP/1.1 200\nContent-Disposition: attachment; filename=ім'я, що побачить клієнт\nContent-Type: application/octet-stream\nConnection: close\n"; cat ім'я файлу на диску ) | nc -vv -l -p 8080

Інші імена

nc, netcat, ncat, pnetcat.

Див. також

Посилання

  • GNU Netcat [Архівовано 16 грудня 2008 у Wayback Machine.] — офіційний сайт проекту (англ.)
  • Netcat для Windows [Архівовано 24 лютого 2015 у Wayback Machine.]


  • п
  • о
  • р
UNIX-команди, що запускаються в режимі командного рядка
Файлові системи:
Файли і каталоги:
Процеси:
Користувачі:
Мережа:
Тексти:
Командний рядок:
Друк:
  • lp[en]
Пошук:
Різне: