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 отсутствует.
** — имеется не во всех версиях.
Для 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 .