WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

netcat (NetCat)
Тип сетевая утилита (TCP, UDP)
Разработчик *Hobbit*
Написана на C
Операционная система UNIX
Последняя версия 0.7.1 (11 января 2004)
Лицензия GPL
Сайт netcat.sourceforge.net

netcat (англ. net сеть + cat) — утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. Несмотря на свою полезность и простоту, данная утилита не входит ни в какой стандарт (например, POSIX).

Действие

В простом случае NetCat вызывается как:

nc host port

Это приводит к созданию TCP-подключения с указанными реквизитами и замыканием стандартного ввода на сетевой вывод и наоборот, стандартного вывода на сетевой ввод. Такая функциональность напоминает команду cat, что обусловило выбор имени «netcat». При невозможности подключения программа выводит сообщение об ошибке на stderr.

Утилита распознаёт следующие ключи:

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

! — требуется специальная сборка, в поставляемых исполняемых файлах отключено (легко создаёт сетевую уязвимость).
* — в некоторых реализациях номер порта для прослушивания задаётся через -l, а ключ -p отсутствует.
** — имеется не во всех версиях.

Применение

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

Примеры

Для ubuntu удалите из ключей "-p ".

Отображение тестовой 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 OK\nContent-Disposition: attachment; filename=целевое-имя-которое-увидит-клиент\nContent-Type: application/octet-stream\nConnection: close\n"; cat имя-файла-на-диске ) | nc -vv -l -p 8080

Передача текущего каталога со всеми файлами и подкаталогами по Интернету или Интранету, порт 3333, с распаковкой в текущий каталог:

nc -l -p 3333 | tar xv (выполняется на приёмной стороне)

tar cv * | nc -q 0 ip.адрес.приёмной.стороны 3333 (выполняется на передающей стороне)

Имена команды

nc, netcat, ncat, pnetcat (в разных системах).

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии