1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое netcat

Netcat

0.7.1 (11 января 2004)

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

Содержание

Действие

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

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

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

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

Применение

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

Примеры

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

Отображение тестовой HTML-странички клиенту с обычным браузером одной командой (порт 8080):

(echo -e «HTTP/1.1 200 OKnContent-Type: text/htmlnn Hello World»;) | nc -vv -l -p 8080

Передача файла клиенту с обычным браузером одной командой (порт 8080):

(echo -e «HTTP/1.1 200nContent-Disposition: attachment; filename=целевое-имя-которое-увидит-клиентnContent-Type: application/octet-streamnConnection: closen»; cat имя-файла-на-диске ) | nc -vv -l -p 8080

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

См. также

  • Сокет (программный интерфейс)
  • socat
  • nmap
  • PuTTY

Ссылки

  • GNU Netcat (англ.) — официальный сайт проекта
  • Netcat для Windows

Wikimedia Foundation . 2010 .

Смотреть что такое «Netcat» в других словарях:

Netcat — Developer(s) *Hobbit* Stable release 1.10 / March 20, 1996 Operating system UNIX … Wikipedia

Netcat — En informatique, netcat est un utilitaire permettant d ouvrir des connexions réseau, que ce soit UDP ou TCP. Il est conçu pour être incorporé aisément dans un large panel d applications. En raison de sa polyvalence, netcat est aussi appelé le… … Wikipédia en Français

Netcat — ? Información general Última versión estable 0.7.1 10 de enero de 2004 Género … Wikipedia Español

Netcat — Screenshot einer Anwendungsmöglichkeit von Netcat Netcat, auch nc genannt, ist ein einfaches Werkzeug, um Daten von der Standardein oder ausgabe über Netzwerkverbindungen zu transportieren. Es arbeitet als Server oder Client mit den Protokollen… … Deutsch Wikipedia

netcat — En informatique, netcat est un utilitaire permettant d ouvrir des connexions réseau, que ce soit UDP ou TCP. Il est conçu pour être incorporé aisément dans un large panel d applications. En raison de sa polyvalence, netcat est aussi appelé le… … Wikipédia en Français

NetCat CMS — NetCat Тип Система управления контентом Разработчик ООО «Нэткэт» Операционная система Кроссплатформенное программное обеспечение Последняя версия 5.0 (1 августа 2012) Лицензия … Википедия

Netcat (logiciel) — netcat En informatique, netcat est un utilitaire permettant d ouvrir des connexions réseau, que ce soit UDP ou TCP. Il est conçu pour être incorporé aisément dans un large panel d applications. En raison de sa polyvalence, netcat est aussi appelé … Wikipédia en Français

Читать еще:  Как отказаться от родителей после 18 лет

IT-Audit — Als IT Sicherheitsaudit (englisch IT Security Audit; von lateinisch audit: „er/sie hört“; sinngemäß: „er/sie überprüft“) werden in der Informationstechnik (IT) Maßnahmen zur Risiko und Schwachstellenanalyse (engl. Vulnerability Scan) eines IT… … Deutsch Wikipedia

IT-Sicherheitsbeauftragter — Als IT Sicherheitsaudit (englisch IT Security Audit; von lateinisch audit: „er/sie hört“; sinngemäß: „er/sie überprüft“) werden in der Informationstechnik (IT) Maßnahmen zur Risiko und Schwachstellenanalyse (engl. Vulnerability Scan) eines IT… … Deutsch Wikipedia

IT-Sicherheitsprüfung — Als IT Sicherheitsaudit (englisch IT Security Audit; von lateinisch audit: „er/sie hört“; sinngemäß: „er/sie überprüft“) werden in der Informationstechnik (IT) Maßnahmen zur Risiko und Schwachstellenanalyse (engl. Vulnerability Scan) eines IT… … Deutsch Wikipedia

Команда Netcat (nc) в Linux с примерами

Netcat является кроссплатформенным и доступен для Linux, macOS, Windows и BSD. Вы можете использовать Netcat для отладки и мониторинга сетевых подключений, сканирования открытых портов, передачи данных в качестве прокси-сервера и многого другого. Пакет Netcat предустановлен в MacOS и популярных дистрибутивах Linux, таких как Ubuntu.

Синтаксис Netcat

Самый основной синтаксис утилиты Netcat имеет следующий вид:

В Ubuntu вы можете использовать либо netcat или nc. Обе они являются символическими ссылками на версию Netcat для openBSD.

По умолчанию Netcat пытается установить TCP-соединение с указанным хостом и портом. Если вы хотите установить UDP-соединение, используйте -uопцию:

Сканирование портов

Сканирование портов является одним из наиболее распространенных способов использования Netcat. Вы можете сканировать один порт или диапазон портов.

Например, для поиска открытых портов в диапазоне 20-80 вы должны использовать следующую команду:

Опция -z скажет nc сканировать только открытые порты, без отправки каких – либо данных на них и -v дает возможность предоставления более подробной информации.

Вывод будет выглядеть примерно так:

Если вы хотите распечатать только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep.

Вы также можете использовать Netcat для поиска серверного программного обеспечения и его версии. Например, если вы отправляете команду «EXIT» на сервер по стандартному SSH-порту 22:

Вывод будет выглядеть примерно так:

Для сканирования портов UDP просто добавьте параметр -u в команду, как показано ниже:

В большинстве случаев Nmap лучше, чем Netcat, для сканирования сложных портов.

Отправка файлов через Netcat

Netcat можно использовать для передачи данных с одного хоста на другой, создав базовую модель клиент/сервер.

Это работает, настроив Netcat на прослушивание определенного порта (используя опцию -l) на принимающем хосте, а затем установив обычное TCP-соединение с другим хостом и отправив файл через него.

На приеме запустите следующую команду, которая откроет порт 5555 для входящего соединения и перенаправит вывод в файл:

С узла-отправителя подключитесь к узлу-получателю и отправьте файл:

Для передачи каталога вы можете использовать tar для архивирования каталога на исходном хосте и для извлечения архива на конечном хосте.
На принимающем хосте настройте средство Netcat на прослушивание входящего соединения через порт 5555. Входящие данные передаются в команду tar, которая извлечет архив:

Читать еще:  Сколько весят животные

На отправляющем хосте упакуйте каталог и отправьте данные, подключившись к процессу прослушивания nc на принимающем хосте:

Вы можете наблюдать за прогрессом передачи на обоих концах. После завершения введите CTRL+C, чтобы закрыть соединение.

Создание простого сервера чата

Процедура создания онлайн-чата между двумя или более хостами такая же, как и при передаче файлов.

На первом хосте запустите процесс Netcat для прослушивания порта 5555:

Со второго хоста выполните следующую команду для подключения к порту прослушивания:

Теперь, если вы наберете сообщение и нажмете ENTER, оно будет показано на обоих хостах.

Чтобы закрыть соединение, введите CTRL+C.

Выполнение HTTP-запроса

Несмотря на то, что есть намного лучшие инструменты для HTTP-запросов, такие как curl, вы также можете использовать Netcat для отправки различных запросов на удаленные серверы.

Например, чтобы получить справочную страницу Netcat с веб-сайта OpenBSD, введите:

Полный ответ, включая заголовки HTTP и код HTML, будет напечатан в терминале.

Заключение

Из этой статьи вы узнали, как использовать утилиту Netcat для установки и тестирования соединений TCP и UDP.

Для получения дополнительной информации посетите справочную страницу Netcat и прочитайте обо всех других мощных параметрах команды Netcat.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Полезные Unix утилиты. Netcat.

Это второй пост из серии статей о Unix утилитах, которые Вам следовало бы знать. В этой статье я представляю Вам утилиту netcat или просто nc.

Утилиту Netcat часто называют эдаким «Швейцарским армейским ножом», в хорошем смысле этого слова. Функционал netcat полезен в той-же степени, в какой полезна многофункциональность и сподручность зарекомендовавшего себя карманного Швейцарского армейского ножа. Некоторые из ее возможностей включают сканирование портов, передачу файлов, прослушивание портов и она может быть использована как бэкдор.

В 2006 году netcat получила 4-ое место в опросе «100 утилит сетевой безопасности», поэтому она — это определенно тот инструмент, который необходимо знать.

Как пользоваться nc?

Начнем с нескольких простых примеров и далее будем их использовать как базовые.

Если Вы помните, я говорил, что netcat это Швейцарский армейский нож. Чем-бы этот нож был, если бы его нельзя было использовать как обычный нож? Вот почему netcat может использоваться вместо обычного telnet:

В действительности он более удобный чем обычный telnet, потому что Вы можете завершить соединение в любое время, нажав Ctrl+C и он обрабатывает двоичные данные как обычные (никаких escape последовательностей, ничего).

Вы можете добавить параметр “-v” для более подробного вывода результатов действий, и параметр (-vv) для получения статистики о том, сколько байт было передано во время текущего сеанса соединения.

Netcat может быть использован в качестве сервера. Если Вы запустите его, как указано ниже, он будет слушать на порту 12345 (на всех интерфейсах):

Теперь если Вы подключитесь к порту 12345 этого хоста, все, что Вы набираете будет передано удаленной стороне, что говорит нам о том, что netcat можно использовать как чат сервер. Запустите на одном из компьютеров:

Читать еще:  Какой корм лучше для кошек

И подключитесь к нему с другого:

Теперь обе стороны могут переговариваться!

Такой способ разговора, когда обе стороны могут разговаривать друг с другом делает возможным использование nc для операций ввода/вывода через сеть! К примеру, Вы можете послать целую директорию с одного компьютера на другой организовав tar конвейер через nc на первом компьютере, и перенаправив вывод в другой tar процесс на втором.

Предположим, Вы хотите переслать файлы из директории /data компьютера A с IP 192.168.1.10 на компьютер B (с любым IP). Это просто:

Не забудьте скомбинировать конвейер с Рipe Viewer, который был описан в предыдущей статье, что-бы посмотреть статистику того, как быстро происходит передача!

Одиночный файл может быть послан проще:

Вы даже можете скопировать и восстановить целый диск, с помощью nc:

Заметим: Опция “-l” не может быть использована совместно с “-p” на Mac компьютерах! Решение, — просто заменить “-l -p 6666? на “-l 6666?. Как здесь:

Незаурядное использование netcat — сканирование портов. Netcat не лучший инструмент для такой работы, но он с этим справляется (лучший, конечно-же nmap):

Параметр “-n” предотвращает от просмотра DNS, “-z” не ждет ответа от сервера, и “-w 1? задает таймаут для соединения в 1 секунду.

Другое нетривиальное использование netcat в роли прокси. И порт и хост могут быть перенаправлены. Посмотрите на этот пример:

Эта команда запускает nc на порту 1234 и перенаправляет все соединения на google.com:80. Если теперь Вы подключитесь к этому компьютеру на порту 12345 и сделаете запрос, Вы обнаружите, что в ответ не получаете никаких данных. Это правильно, потому-что мы не установили двунаправленный канал. Если Вы добавите второй канал, Вы получите Ваши данные на другом порту:

После посылки запроса на порт 12345, получите Ваши данные ответа на порту 12346.

Вероятно самая мощная возможность netcat — запустить любой процесс как сервер:

Параметр “-e” пораждает выполнение ввода и вывода перенаправляемого через сетевой сокет. Теперь, если Вы подключитесь к хосту на порту 12345, Вы можете использовать bash:

Последствия таковы, что nc это популярный инструмент хакера и с его помощью можно очень легко сделать бэкдор. На Linux сервере вы можете запустить /bin/bash а на Windows cmd.exe и иметь в своих руках полный контроль.

Это все, что я хотел сказать. Вам знакомы какие-либо другие полезные приемы работы с netcat, которые здесь не описаны?

Как установить nc?

Если у Вас Debian или система базирующаяся на Debian, такая как Ubuntu, сделайте следующее:

Если у Вас Fedora или система базирующаяся на Fedora, такая как CentOS, сделайте:

Если у Вас Slackware, FreeBSD, NetBSD, Solaris или Mac, скачайте исходники nc и сделайте:

Еще способ сделать это на Mac, если у Вас есть MacPorts:

На Slackware Вы можете установить ее как пакет из пакетной директории:

Если у Вас Windows, скачайте порт Windoze с securityfocus.

Руководство по утилите может быть найдено в man nc.

Приятного времяпровождения вместе с nc, до следующего раза!

Источники:

http://academic.ru/dic.nsf/ruwiki/380195
http://andreyex.ru/operacionnaya-sistema-linux/komanda-netcat-nc-v-linux-s-primerami
http://handynotes.ru/2010/01/unix-utility-netcat.html

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector