Netcat что это за программа
netcat [- 46hklnrtuvzU ] [- i interval ] [- p source port ] [- s source ip address ] [- x proxy address [:port] ] [- w timeout ] [- X socks version ] [ hostname ] [ port[s] ]
DESCRIPTION
The netcat (or netcat utility is used for just about anything under the sun involving TCP or UDP. It can open TCP connections, send UDP packets, listen on arbitrary TCP and UDP ports, do port scanning, and deal with both IPv4 and IPv6. Unlike telnet(1), netcat scripts nicely, and separates error messages onto standard error instead of sending them to standard output, as telnet(1), does with some.
Destination ports can be single integers or ranges. Ranges are in the form nn-mm.
Common uses include:
The options are as follows:
-4 Forces netcat to use IPv4 addresses only. -6 Forces netcat to use IPv6 addresses only. -h Prints out netcat help. -i interval Specifies a delay time interval between lines of text sent and received. Also causes a delay time between connections to multiple ports. -k Forces netcat to stay listening for another connection after its current connection is completed. -l Used to specify that netcat should listen for an incoming connection rather than initiate a connection to a remote host. -n Do not do any DNS or service lookups on any specified addresses, hostnames or ports. -p port Specifies the source port netcat should use, subject to privilege restrictions and availability. -r Specifies that source and/or destination ports should be chosen randomly instead of sequentially within a range or in the order that the system assigns them. -s hostname/ip address Specifies the IP of the interface which is used to send the packets. -t Causes netcat to send RFC854 DON’T and WON’T responses to RFC854 DO and WILL requests. This makes it possible to use netcat to script telnet sessions. -u Use UDP instead of the default option of TCP. -v Have netcat give more verbose output. -x proxy address [:port] Requests that netcat should connect to hostname using a SOCKS proxy at address and port. If port is not specified, port 1080 is used. -z Specifies that netcat should just scan for listening daemons, without sending any data to them. -U Specifies to use Unix Domain Sockets. -X version Requests that netcat should use the specified version of the SOCKS protocol when talking to a SOCKS proxy. If version is not specified, SOCKS version 5 is used.
Сетевая утилита netcat — просто и с примерами
EXAMPLES
$ netcat hostname 42 Open a TCP connection to port 42 of hostname. $ netcat -p 31337 hostname 42 Open a TCP connection to port 42 of hostname, and use port 31337 as the source port. $ netcat -w 5 hostname 42 Open a TCP connection to port 42 of hostname, and timeout after five seconds while attempting to connect. $ netcat -u hostname 53 Open a UDP connection to port 53 of hostname. $ netcat -s 10.1.2.3 example.host 42 Open a TCP connection to port 42 of example.host using 10.1.2.3 as the IP for the local end of the connection. $ netcat -v hostname 42 Open a TCP connection to port 42 of hostname, displaying some diagnostic messages on stderr. $ netcat -v -z hostname 20-30 Attempt to open TCP connections to ports 20 through 30 of hostname, and report which ones netcat was able to connect to. $ netcat -v -u -z -w 3 hostname 20-30 Send UDP packets to ports 20-30 of example.host, and report which ones did not respond with an ICMP packet after three seconds. $ netcat -l 3000 Listen on TCP port 3000, and once there is a connection, send stdin to the remote host, and send data from the remote host to stdout. $ echo foobar | netcat hostname 1000 Connect to port 1000 of hostname, send the string «foobar» followed by a newline, and move data from port 1000 of hostname to stdout until hostname closes the connection. $ netcat -U /var/tmp/dsocket Connect to a Unix Domain Socket. $ netcat -lU /var/tmp/dsocket Create and listen on a Unix Domain Socket.
Netcat — что это такое
SEE ALSO
AUTHORS
Источник: www.opennet.ru
Команда netcat, примеры использования.
Программа Netcat — сетевая утилита Unix, с помощью которой можно анализировать и моделировать работу многих сетевых протоколов, выполнять команды на удалённой машине, принимать или передавать на нее данные, перенаправлять трафик с одного порта на другой или с одной машины на другую.
У netcat (nc) много вариантов названий, например ncat, gnu-netcat, openbsd-netcat, dbd, sbd, cryptcat.
Ncat имеет два основных режима: режим подключения и режим прослушивания.
При режиме подключения, программа соединяется с сетевыми службами, среди которых может быть как другой экземпляр запущенной Ncat, так и большинство других сервисов, например, HTTP (веб-сервер), почтовый сервер, FTP сервер, Telnet и так далее.
Второй режим работы Ncat называется «прослушивание», для включения этого режима необходимо указать ключ -l и IP адрес интерфейса, на котором выполнять прослушивание (по умолчанию слушает все интерфейсы) и порт для прослушивания (по умолчанию используется порт 31337).
В данном режиме с ключами позволяет Ncat:
— передавать полученные данные системе в качестве команд для выполнения;
— возвращать подключившемуся хосту файл (выполняла роль веб-сервера или использовалась для скачивания файла с удалённого хоста)
перенаправляла запросы на другой порт или адрес;
— работать в качестве прокси.
Причём подключиться к Ncat в режиме прослушивания может как другой экземпляр Ncat (например, для передачи команд), так и другая программа — например, веб-браузер для просмотра или скачивания файла, либо другая программа поддерживающая работу через прокси.
Какие ключи Netcat можно использовать ?
-h — получение справки о командах;
-v — дополнительная диагностик; Если не использовать опцию -v, Netcat выдает только принятую информацию. Если опция -v использована один раз, вы сможете узнать, с каким адресом произошло соединение или какой адрес отслеживается в случае, если возникли какие-то проблемы. Повторное использование опции позволит узнать, какое количество данных было послано или принято до завершения соединения.
-o выходной_файл — выводить дампы данных в файл;
-i число — устанавливать в секундах задержку между отправляемыми данными;
-t — совместимость с Telnet;
-z — не посылать данные (сканирование портов);
-u — подключаться по UDP (вместо TCP);
-l — переход в пассивный режим (прослушивание порта);Если эта опция не определена для исходящего соединения, Netcat будет использовать порт, который определен для этого в системе, что и делают большинство TCP или UDP клиентов. Имейте в виду, что в Unix-системах только пользователь root может определять номера портов меньше чем 1024.
-p число — локальный номер порта (для -l);
-s host — использовать заданный локальный («свой исходящий») IP-адрес; Эта опция позволяет взломщикам выполнять несколько изящных фокусов: скрыть свой IP-адрес или подделать что-либо еще. Но чтобы получить информацию, отправляемую на подмененный адрес, им необходимо использовать опцию определения порядка маршрутизации -g.
Далее, используя режим прослушивания, вы можете многократно привязываться к уже прослушанному сервису. Все TCP- и UDP-сервисы работают с портами, но не каждый из них работает с конкретным IP-адресом. Многие службы по умолчанию прослушивают все доступные интерфейсы. Syslog, к примеру, прослушивает UDP-порт 514 для считывания трафика syslog.
В то же время, если вы запустили Netcat на прослушивание 514 порта и использовали опцию -s для определения исходящего IP-адреса, любой трафик, проходящий через определенный вами IP-адрес, в первую очередь будет направляться через Netcat. Почему? Если сокет определяет и IP-адрес, и номер порта, это определяет его приоритет над сокетом, который не определяет обоих параметров.
-n — отключить DNS и поиск номеров портов по /etc/services. сообщает Netcat, что не нужно осуществлять поиск каких-либо хостов. Если вы используете эту опцию, не следует указывать никаких имен хостов в качестве аргументов.
-w число — задать тайм-аут (в секундах).Определяет промежуток времени, в течение которого Netcat ждет соединения. Этот параметр также сообщает, как долго следует ожидать после получения сигнала EOF (конец файла) на стандартный вход перед разрывом соединения и завершением работы. Это особенно важно, если вы посылаете команды удаленному серверу с использованием Netcat и ожидаете получить большой объем информации (к примеру, посылая веб-серверу HTTP команду на загрузку большого файла).
-q число — задать время ожидания после EOF на входе (в секундах) **
-e исполняемый_файл — ! запустить указанную программу для обмена данных с сетью (вместо стандартных ввода и вывода)
-с команда — ! то же, в виде команды для /bin/sh
-k — продолжить слушать другие соединения после того как текущее соединение было завершено.
-d — Доступна только в Windows. Переводит Netcat в режим невидимки. Можно запустить программу в режиме прослушивания, не открывая окно режима MS-DOS. Это также позволяет взломщикам лучше маскировать работающую программу от системных администраторов;
-e — Если Netcat скомпилирован с опцией GAPING_SECURITY_HOLE, программа может выполнять команду всякий раз, когда кто-либо устанавливает соединение с прослушиваемым портом, до тех пор, пока клиент Netcat перенаправляет ввод/вывод работающей программе. Использовать эту опцию достаточно опасно, если вы не до конца представляете себе, что вы делаете. Это быстрый и простой способ открыть «черный ход» в вашу систему. Пример будет приведен далее;
-r — Netcat выбирает локальный и удаленный порт случайным образом. Эта опция полезна в случае, когда Netcat используется для получения информации о большом интервале номеров портов в системе и при этом представить ситуацию так, чтобы это было в меньшей степени похоже на процедуру сканирования портов. В случае если эта возможность используется совместно с опцией -i и с достаточно большим интервалом, то велика вероятность, что сканирование портов не будет обнаружено без внимательного изучения системного журнала администратором.
Примеры использования утилиты NetCat.
1. Проверить открытый tcp-порт 22 на хосте 192.168.0.10 :
ncat -vn 192.168.0.10 22
если порт закрыт, то получим ответ:
ncat: connect to 192.168.0.10 22 (tcp) failed: Connection refused
Источник: adminwin.ru
NETCAT и CRYPTCAT
К вашим услугам изобилие средств обеспечения безопасности сети и углубленного анализа. В большинстве случаев, каждый из инструментов предназначен для определенных целей. Некоторые программы накапливают информацию о сети и присутствующих в сети компьютерах. Другие используются непосредственно для анализа уязвимости . Тем не менее, большинство полезных и часто используемых средств обычно являются многофункциональными и подходят для использования в соответствии с несколькими различными сценариями. NETCAT и CRYPTCAT относятся именно к таким средствам.
NETCAT
Netcat устанавливает и поддерживает TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) соединения, читает и записывает данные по этим соединениям до тех пор, пока они не будут закрыты. Это основа работы сетевой подсистемы TCP/UDP, которая позволяет пользователям взаимодействовать по сети с помощью команд или скриптов с сетевыми приложениями и службами на прикладном уровне. Программа дает возможность увидеть пакеты TCP и UDP данных до того, как они будут упакованы в соответствии с протоколами более высокого уровня, такими как FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol ), или HTTP ( Hypertext Transfer Protocol ).
Примечание. Технически Netcat не устанавливает UDP-соединение, поскольку UDP-протокол работает и без него. В этой лекции, говоря о UDP-соединении, используемом Netcat , мы говорим об использовании Netcat в режиме UDP для того, чтобы начать передачу данных службе UDP, которая передает их принимающей стороне.
Netcat не делает ничего выдающегося. У этой программы нет красивого графического интерфейса пользователя (GUI), и она не выводит данные в виде красивого отчета. Но поскольку Netcat работает на таком базовом уровне, то он удобен для использования во многих ситуациях.
Так как Netcat должен использоваться в паре с какими-либо еще программами или техническими приемами, неопытному пользователю его роль может показаться слишком преувеличенной. Управлять из командной строки файлом Readme новичку тоже довольно сложно. Тем не менее, к концу этой лекции вы увидите, что Netcat может стать одним из наиболее используемых инструментов в вашем арсенале.
Реализация
Поскольку у Netcat так много способов применения, его часто сравнивают со «Швейцарским армейским ножом» для работы с TCP/IP и UDP протоколами. Прежде, чем вы сможете изучить, как пользоваться этой программой, придется загрузить и установить ее.
Загрузка
Netcat можно получить из многих источников, и каждый из множества дистрибутивов Unix поставляется с уже готовым к работе модулем Netcat . Не самая плохая идея загрузить исходные тексты этой программы и откомпилировать ее самостоятельно. По умолчанию, Netcat скомпилирован с меньшим, чем этого хотелось бы, количеством опций. Загрузив исходные тексты и скомпилировав их самостоятельно, вы сможете полностью проконтролировать, какие возможности Netcat будут в вашем распоряжении.
Официальный сайт, с которого можно загрузить Netcat как для Unix, так и для Windows — http://www.atstake.com//.
Установка
Мы не будем углубляться в процедуры загрузки, распаковки и компиляции большинства программ, обсуждаемых в этой книге. Но так как Netcat — первая программа, о которой мы говорим, и поскольку у него есть несколько интересных опций, определяемых на этапе компиляции, будет не лишним углубиться в некоторые подробности.
Скопируйте с упомянутого сайта файл nc110.tgz . Затем распакуйте его.
Примечание. В отличие от большинства тарболов (архивов, созданных с использованием утилиты- архиватора tar в Unix системах), Netcat при распаковке не создает собственной директории. Сейчас эти советы могут выглядеть банально, но если все ваши архивы и поддиректории загружены в одну директорию, и вы обнаружите, что Netcat разместил все свои файлы в корне, то понадобится некоторое время чтобы вычистить их оттуда.
Теперь вы готовы начать компиляцию. Обратим внимание на две важные опции, задаваемые перед компиляцией.
- GAPING_SECURITY_HOLE. Как видно из названия, эта опция может сделать Netcat опасным в чужих руках, но она также делает его весьма мощным инструментом. Если эта опция включена, Netcat сам может запускать внешние программы. Ввод/вывод этих программ в этом случае будет проходить через конвейер данных самого Netcat . Тем самым Netcat ведет себя как функционально усеченный демон inetd , давая вам возможность выполнять удаленные команды (вроде запуска оболочки shell ) всего лишь установив TCP или UDP соединение с контролируемым портом. Эта опция отключена по умолчанию, поскольку весьма велика опасность ее неверного использования или ошибок в конфигурировании.
- TELNET. Обычно, если вы используете Netcat для соединения с telnet-сервером (используя команду nc servername 23 ), вы уйдете не слишком далеко. Telnet-серверы и клиенты согласовывают некоторые параметры еще до того, как появляется приглашение ввести идентификатор ( login ). Если включить при компиляции эту опцию, то Netcat сможет реагировать на запросы Telnet-сервера (отвечая на каждый из них no), что даст вам возможность дойти до ввода идентификатора. Без этого, если вы захотите получить что-нибудь путное, используя Netcat и telnet , вам понадобится написать собственный скрипт для реализации соединения с telnet-сервером. Возможно, важность этой опции пока вам не ясна, но вы поймете, почему мы обращаем на это внимание, как только посмотрите некоторые примеры приведенные далее в этой лекции.
Для того чтобы включить каждую из этих опций, необходимо добавить строку DFLAGS в начало makefile .
# makefile for netcat, based off same ol’ «generic makefile». # Usually do «make systape» — if your systipe isn’t defined, try «generic» # or something else that most closely mathes, see where it goes wrong, fix # it, and MAIL THE DIFFS back to Hobbit ### PREDEFINES # DEFAULT possibly overridden by recursive call: # pic gcc if you’d rather, and/or do -g instead -O if debugging # DFLAGS = -DTEST -DDEBUG DFLAGS = -DGAPING_SECURITY_HOLE -DTELNET CFLAGS = -O
Вы можете включить одну или обе эти опции в строку DFLAGS .
Если вы намерены поиграть с приведенными далее примерами, вам следует проделать эти модификации. Однако до того как вы произведете эти изменения, убедитесь в том, что доступ к созданным вами исполняемым файлам запрещен для любого пользователя, или в том, что вы являетесь единственным пользователем в системе. Достаточно того, что другому пользователю также просто загрузить собственную копию Netcat и скомпилировать ее с теми же опциями, и вы вряд ли захотите увидеть, что ваша система взломана, потому что кто-то использовал вашу специально скомпилированную версию Netcat в качестве «черного хода» в вашу систему.
Теперь вы готовы к компиляции. Просто наберите в командной строке make systemtype, где systemtype — это название Unix-системы, с которой вы работаете (это может быть linux, freebsd, solaris и так далее). Когда процесс закончится, вы обнаружите небольшой исполняемый файл «nc» в текущей директории.
Для пользователей Windows версию Netcat можно загрузить в виде архива ( nc11nt.zip ), также содержащего исходные тексты. Но поскольку большинство людей не имеют компиляторов, то исполняемый файл подготовлен заранее с опциями, включенными по умолчанию. Просто распакуйте архив и ваш файл nc.exe готов к использованию.
Источник: intuit.ru
Аналоги netcat
Netcat — это специальная сетевая утилита, которая читает и записывает данные через сетевые соединения, используя протокол TCP/IP. Он разработан, чтобы быть надежным «внутренним» инструментом, который может использоваться напрямую или легко управляться другими программами и скриптами. В то же время это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые виды соединений, которые вам понадобятся, и имеет несколько интересных встроенных возможностей.
Альтернативы для netcat
Персональный компьютер
Мобильный телефон
698
- Бесплатная
- Windows
- Mac OS
Wireshark — это крупнейший в мире анализатор сетевых протоколов. Он позволяет вам захватывать и интерактивно просматривать трафик, работающий в компьютерной сети. Это де-факто (и часто де-юре) стандарт во многих отраслях и учебных заведениях.
16
- Бесплатная
- Windows
- Mac OS
Ettercap — это набор для атак посредника («человек посередине») по локальной сети. Он включает в себя прослушивание живых соединений, фильтрацию контента на лету и много других интересных трюков.
15
- Условно бесплатная
- iPhone
apptalk.ninja — это отличный, простой в использовании инструмент для разработчиков приложений, который отслеживает и устраняет проблемы с коммуникацией своих приложений по беспроводной сети.
11
- Бесплатная
- Windows
SmartSniff — это анализатор пакетов, который захватывает пакеты TCP / IP и отображает их как последовательность диалогов между клиентами и серверами. Вы можете просматривать диалоги TCP / IP в режиме Ascii (для текстовых протоколов, таких как HTTP, SMTP, POP3 и FTP) или в виде шестнадцатеричного дампа (для нетекстовых базовых протоколов, таких как DNS). Приложение может захватывать пакеты TCP / IP в вашей сети без установки драйвера захвата (работает только для Windows 2000 / XP или выше).
Что в этом списке?
В списке находится программы которые можно использовать для замены netcat.
Это аналоги похожие по функционалу на netcat, которые заменяют программу частично или полностью. Этот список содержит 4 замены.
С помощью пользователей мы собираем каталог похожих друг на друга программ, чтобы вы могли подобрать альтернативу и скачать их. На сайте можно скачать популярные программы для Windows, Mac Os, Android и iPhone
Источник: ruprogi.ru