Netcat

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
netcat (NetCat)
сетевая утилита (TCP, UDP)


Операционная система:
Unix



Разработчик:
?







Лицензия:
?

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 число Задать таймаут (в секундах)
 -e исполняемый_файл ! Запустить указанную программу вместо стандартных ввода и вывода
 -с команда ! Аналогично, команда для /bin/sh

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

Применение[править | править код]

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

Имена команды[править | править код]

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

См. также[править | править код]