Відмінності між версіями «Netcat»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][очікує на перевірку]
(словник УМІФ НАН України http://lcorp.ulif.org.ua/dictua/)
м (Категоризація)
 
(Не показана 1 проміжна версія ще одного користувача)
Рядок 18: Рядок 18:
 
Зазвичай netcat викликається так:
 
Зазвичай netcat викликається так:
 
nc ''[[хост|host]]'' ''[[Порт (TCP/IP)|port]]''
 
nc ''[[хост|host]]'' ''[[Порт (TCP/IP)|port]]''
Це призводить до створення TCP-з'єднання зі вказаними реквізитами та замиканням [[стандартний ввід|стандартного вводу]] на мережевий вивід і навпаки. Функціональність програми нагадує команду [[cat]], що й зумовило вибір назви. При неможливості з'єднання програма виводить помилку на [[stderr]].
+
Це призводить до створення TCP-з'єднання зі вказаними реквізитами та переключення [[стандартний ввід|стандартного вводу]] на мережевий вивід і навпаки. Функціональність програми нагадує команду [[cat]], що й зумовило вибір назви. При неможливості з'єднання програма виводить помилку на [[stderr]].
   
 
Утиліта розпізнає такі параметри:
 
Утиліта розпізнає такі параметри:
Рядок 106: Рядок 106:
 
[[Категорія:Стандартні програми для Unix]]
 
[[Категорія:Стандартні програми для Unix]]
 
[[Категорія:TCP/IP]]
 
[[Категорія:TCP/IP]]
  +
[[Категорія:Управління комп'ютерною мережею]]

Поточна версія на 08:53, 20 березня 2020

netcat (NetCat)
Netcat.png
Тип мережева утиліта (TCP, UDP)
Розробник Hobbit
Стабільний випуск 0.7.1 (11 січня 2004)
Операційна система 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.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]