Netcat | это... Что такое Netcat? (original) (raw)

netcat (NetCat)

Тип сетевая утилита (TCP, UDP)
Разработчик Hobbit*
Написана на C
Операционная система UNIX
Последняя версия 0.7.1 (11 января 2004)
Лицензия GPL
Сайт http://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 отсутствует.
** — имеется не во всех версиях.

Применение

Примеры

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

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

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

См. также

Ссылки

Просмотр этого шаблона Команды Unix
Просмотр этого шаблона POSIX.1-2008 Утилиты POSIX.1-2008 admin • aliasar • asa • atawkbasename • batch • bc • bg • c99calcatcd • cflow • chgrpchmodchowncksumcmpcommcommand • compress • cpcrontab • csplit • ctagscut • cxref • datedddeltadfdiffdirnameduechoedenvexexpandexprfalsefc • fg • filefind • fold • fort77 • fuser • gencat • get • getconf • getopts • grephashheadiconvid • ipcrm • ipcs • jobs • joinkilllexlinklnlocale • localedef • loggerlognamelplsm4 • mailx • makemanmesgmkdir • mkfifo • moremv • newgrp • nicenlnmnohupodpastepatch • pathchk • paxprprintf • prs • pspwd • qalter • qdel • qhold • qmove • qmsg • qrerun • qrls • qselect • qsig • qstat • qsub • read • renicerm • rmdel • rmdir • sact • sccs • sedshsleepsortsplitstringsstrip • stty • tabs • tailtalkteetesttimetouch • tput • trtrue • tsort • tty • type • ulimit • umask • unalias • uname • uncompress • unexpand • unget • uniq • unlink • uucpuudecodeuuencode • uustat • uux • val • viwaitwc • what • whowritexargsyacc • zcat Просмотр этого шаблона GNU Coreutils Файловые утилиты chgrpchownchmodcpdddf • dir • dircolors • install • lnlsmkdir • mkfifo • mknod • mvrmrmdir • shred • sync • touch • vdir Текстовые утилиты catcksumcomm • csplit • cutexpandfmt • fold • head • join • md5sumnlodpaste • ptx • prsha1sumsortsplit • sum • tactailtr • tsort • unexpanduniqwc Shell-утилиты basenamechrootdatedirnameduechoenvexpr • factor • false • groups • hostid • idlinklognamenicenohup • pathchk • pinky • printenv • printfpwd • readlink • seq • sleep • stat • stty • teetesttruettyuname • unlink • userswhowhoamiyes