netcat

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

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

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

Зазвичай 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.

Див. також

Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.