nc -- реализация подключений и ожиданий входящих соединений, через TCP и UDP

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ec7a5844bcc5e0503a0c76049cd62462' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<div>\n<pre><pre class=\"rteleft\"><strong>NC(1) FreeBSD General Commands Manual NC(1)\n\n</strong></pre><pre><strong>НАИМЕНОВАНИЕ</strong>\n<strong> nc </strong>-- реализация подключений и ожиданий входящих соединений, через TCP и UDP\n\n</pre><pre><strong>КРАТКИЙ ОБЗОР\n nc </strong>[-46DEdhklnorStUuvz] [-e IPsec_policy] [-i interval]\n [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]\n [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [hostname]\n [port[s]]&nbsp;</pre></pre><pre><pre><strong>ОПИСАНИЕ</strong>\n Утилита <strong>nc </strong>(или <strong>netcat</strong>) используется практически для всего, что касается\n TCP или UDP. Открытие TCP соединений, посылка UDP пакетов, прослушива-\n ние TCP и UDP портов, сканирование портов, и работа с версиями IPv4 и\n IPv6. В отличии от telnet(1), nc выводит сообщения об ошибках на стан-\n дартный вывод ошибок, вместо посылки их на просто стандартный вывод, как\n это делает telnet(1).\n\n Основное применение:</pre><pre class=\"rteleft\"><pre>\n - примитивное TCP проксирование\n - написание shell-сценариев эмулируюших HTTP запросы\n - тестирование сетевых демонов\n - SOCKS или HTTP ProxyCommand для ssh(1)\n - и многое, многое другое</pre></pre><pre class=\"rteleft\"><pre>\n Существуют следующие опции:\n<strong>\n -4</strong> Использовать только IPv4 адреса.\n<strong>\n -6 </strong>Использовать только IPv6 адреса.\n<strong>\n -D </strong>Включить отладку на сокете.\n<strong>\n -d </strong>Не читать стандартный ввод(stdin).\n<strong>\n -h</strong> Вывести справку по nc.\n<strong>\n -E</strong> Эквивалентно комбинации &quot;-e \'in ipsec esp/transport//require\'\n<strong>\n -e</strong> \'out ipsec esp/transport//require\'&quot;, которая включает транс-\n портный режим IPsec ESP в обоих направлениях\n\n<strong> -e</strong> Если поддержка IPsec доступна, то можно указать используемую\n политику IPsec, следуя синтаксису, описанному в\n ipsec_set_policy(3). Если необходимо, этот флаг может быть\n указана два раза, по одному правилу для каждого направления.</pre><pre>\n \n\n<strong> -i interval\n</strong> Временной интервал задержки между посылаемыми и принимаемыми\n строками текста. Так же задаёт интервал задержки между подклю-\n чениями к нескольким портам.</pre><pre><strong> -k</strong> Продолжать слушать(ожидать) следующее соединение, после того,\n как текущее соединение было закрыто. Ошибочно использовать эту\n опцию без опции -l.</pre><pre>\n \n\n<strong> -l</strong> Слушать входящие соединения, вместо подключения к удалённому\n хосту. Ошибочно использовать эту опцию в связке с опциями -p,\n -s, или -z. Кроме того, любой тайм аут указанный с помощью\n опции -w игнорируется.</pre><pre>\n \n<strong> -n</strong> Не производить никаких преобразований имён и сервисов, в адреса\n и номера портов.</pre><pre>\n \n <strong>-o</strong> \'\'Once-only режим\'\'. По умолчанию, nc не завершает работу по\n сигналу EOF поступившему на стандартный ввод, а продолжает\n работу до тех пор, пока одна из сторон не отключится. Ключ -o\n позволяет включать поддержку сигнала EOF.</pre><pre>\n \n<strong> -P proxy_username\n</strong> Имя пользователя, чтобы представиться прокси серверу, требующему\n аутентификации. Если не указать имя пользователя, тогда аутен-\n тификация не удастся. На данный момент прокси аутентификация\n поддерживается только для HTTP СОЕДИНЕНИЯ.</pre><pre>\n \n<strong> -p source_port\n</strong> Исходный порт, который nc должен использовать. Ошибочно исполь-\n зовать эту опцию в связке с опцией -l.\n\n <strong>-r</strong> Исходные порты и/или порты назначения будут выбраны в случайном\n порядке, нежели в последовательном.</pre><pre>\n \n<strong> -S</strong> Включить RFC 2385 TCP MD5 подпись.</pre><pre>\n \n<strong> -s source_ip_address\n</strong> IP интерфейса, который используется для посылки пакетов.\n Ошибочно использовать эту опция в связке с опцией -l.</pre><pre>\n \n<strong> -T ToS</strong> Тип обслуживания (ToS) IP для соединения. Действующие значения,\n обозначаются ярлыками &quot;lowdelay&quot;, &quot;throughput&quot;, &quot;reliability&quot;,\n или 8-битными шестнадцатеричными значениями обозначающимися, как\n &quot;0x&quot;.</pre><pre>\n \n<strong> -t</strong> Посылать RFC 854 DON\'T и WON\'T ответы и DO и WILL запросы. Это\n делает возможным использовать nc для написания скриптов telnet\n сессий.</pre><pre>\n \n<strong> -U</strong> Использовать сокеты (Unix Domain Sockets).</pre><pre>\n \n<strong> -u</strong> Использовать UDP, взамен используемого по-умолчанию TCP.</pre><pre>\n \n<strong> -v</strong> Выводить больше отладочной информации.</pre><pre><strong> -w timeout\n</strong> Если соединение и стандартный ввод не используются больше чем\n заданный тайм аут в секундах, тогда соединения закроется. Флаг\n -w не эффективен c опцией -l, т.е. nc будет слушать соединение\n всегда, с или без флага -w. По умолчанию тайм аут не задан.\n\n <strong>-X proxy_protocol</strong>\n Использовать указанный протокол, для обращения к прокси серверу.\n Поддерживает протоколы &quot;4&quot; (SOCKS v.4), &quot;5&quot; (SOCKS v.5) и\n &quot;connect&quot; (HTTPS proxy). Если протокол не указан, используется\n SOCKS 5 версии.\n\n<strong> -x proxy_address[:port]</strong>\n Соединяться к хосту используя прокси с адресом proxy_address и\n портом port. Если port не указан, тогда будут использоваться\n стандартные порты для прокси протокола (1080 для SOCKS и 3128\n для HTTPS).</pre><pre>\n \n<strong> -z</strong> Сканировать на наличие слушающих демонов, без посылки им данных.\n Ошибочно использовать эту опцию в связке с опцией -l.</pre><pre>\n имя хоста может быть указано в виде IP адреса или его имени (если не\n задана опция -n). Обычно имя хоста должно указываться, кроме случая с\n использованием опции -l (слушает локальные адреса).\n\n порты могут быть указаны по одному, либо в диапазоне. Диапазон в формате\n nn-mm. Обычно порт назначения должен быть указан, кроме случаев с\n использованием опции -U (указывается сокет).</pre></pre><pre>\n имя хоста может быть указано в виде IP адреса или его имени (если не<br /> задана опция -n). Обычно имя хоста должно указываться, кроме случая с<br /> использованием опции -l (слушает локальные адреса).</pre><pre class=\"rteleft\"><p>&nbsp;</p><pre>\n порты могут быть указаны по одному, либо в диапазоне. Диапазон в формате\n nn-mm. Обычно порт назначения должен быть указан, кроме случаев с\n использованием опции -U (указывается сокет).\n\n<strong>МОДЕЛЬ КЛИЕНТ/СЕРВЕР\n</strong> Очень легко построить примитивную модель клиент/сервер используя nc.\n На одной консоли запускаем nc слушать указанный порт на соединение.\n\n<strong> Пример:</strong>\n\n $ nc -l 1234</pre><pre>\n nc слушает порт 1234 на соединение. На второй консоли (или на второй\n машине) соединяемся с машиной на прослушиваемый порт:</pre><pre>\n $ nc 127.0.0.1 1234\n\n Должно произойти соединение между портами. Всё, что будет набрано на\n второй консоли, будет отображено на первой и наоборот. После того,\n как будет установлено соединение, nc не волнует, какая из сторон\n будет использоваться, как `server\', а какая, как `client\'. Соединение\n может быть прервано используя EOF (`^D\').</pre><pre><strong>ПЕРЕДАЧА ДАННЫХ\n</strong> Предыдущий пример может быть расширен, для построения передачи данных.\n Любая информация направленная в одну из сторон соединения будет получена\n на другом конце, и ввод и вывод легко могут быть построены в такой\n последовательности, чтобы эмулировать передачу данных.</pre><pre>\n Начните используя nc для прослушивание порта, c перенаправленным из него\n файлом:</pre><pre>\n \n $ nc -l 1234 &gt; filename.out</pre><pre>\n \n Используйте вторую машину, для подключения к слушающему процессу nc, с\n перенаправлением в него передающегося файла.</pre><pre>\n \n $ nc host.example.com 1234 &lt; filename.in</pre><pre>\n \n После передачи файла, соединение автоматически закроется.\n<strong>\nОБЩЕНИЕ С СЕРВЕРАМИ\n</strong> Иногда полезно поздороваться с сервером &quot;рукопожатием&quot;.Это может помочь\n поиску неисправностей, может быть необходимо выяснить, какую именно\n информацию сервер шлёт клиентам. Например, для получения домашней\n страницы веб сайта:</pre><pre>\n \n $ echo -n &quot;GET / HTTP/1.0rnrn&quot; | nc host.example.com 80</pre><pre>\n \n Обратите внимание, что также будут отображены заголовки высланные веб\n сервером. Они могут быть отфильтрованы с помощью sed(1), если это\n необходимо.</pre><pre>\n \n Более сложный пример может быть построен, когда пользователь знает\n формат ответа посылаемого сервером. Как другой пример, можем\n представляться SMTP серверу:</pre><pre>\n \n $ nc localhost 25 &lt;&lt; EOF\n HELO host .example.com\n MAIL FROM:\n RCPT TO:\n DATA\n Body of email.\n .\n QUIT\n EOF</pre><pre>\n \n<strong>СКАНИРОВАНИЕ ПОРТОВ\n</strong> Полезно знать какие порты открыты и какие сервисы запущены на исследуе-\n мой машине. Флаг -z может быть использован, чтобы узнать об открытых\n портах не инициируя соединение. Например:</pre><pre>\n \n\n $ nc -z host.example.com 20-30\n </pre><pre>\n Connection to host.example.com 22 port [tcp/ssh] succeeded!\n Connection to host.example.com 25 port [tcp/smtp] succeeded!\n\n Был указан диапозон портов 20 - 30.\n Также это может быть использовано, чтобы узнать какой серверный софт\n запущен, и его версия. Эту информацию содержит приветствующее сообщение.\n Как правило, чтобы сделать это, вначале необходимо инициировать соедине-\n ние, затем оборвать его, когда будет получено приветствие. Это может\n быть выполнено указанием маленького тайм аута с помощью флага -w , или\n можно использовать команду &quot;QUIT&quot; на сервере:\n\n $ echo &quot;QUIT&quot; | nc host.example.com 20-30\n SSH-1.99-OpenSSH_3.6.1p2\n Protocol mismatch.\n 220 host.example.com IMS SMTP Receiver Version 0.84 Ready\n\n<strong>ПРИМЕРЫ</strong>\n Открыть TCP соединение на порт 42 на host.example.com, используя 31337,\n как исходный порт, с тайм аутом в 5 секунд:\n\n $ nc -p 31337 -w 5 host.example.com 42\n\n Открыть UDP соединение на порт 53 на host.example.com:\n\n $ nc -u host.example.com 53\n\n Открыть TCP соединение на порт 42 на host.example.com используя 10.1.2.3,\n как исходный IP:\n\n $ nc -s 10.1.2.3 host.example.com 42\n </pre><pre>\n Открыть TCP соединение на порт 42 на host.example.com, используя IPsec\n ESP для входящего и исходящего трафика.\n </pre><pre>\n $ nc -E host.example.com 42\n </pre><pre>\n Открыть TCP соединение на порт 42 на host.example.com, используя IPsec\n ESP только для исходящего трафика\n</pre><pre>\n $ nc -e \'out ipsec esp/transport//require\' host.example.com 42\n</pre><pre>\n Создать и слушать на Unix Domain Socket:\n</pre><pre>\n $ nc -lU /var/tmp/dsocket\n </pre><pre>\n Соединиться на порт 42 на host.example.com используя HTTP прокси\n 10.2.3.4, порт 8080. Этот пример может быть использован ssh(1);\n смотрите ProxyCommand директивы в ssh_config(5) для получения\n большей информации.\n </pre><pre>\n $ nc -x10.2.3.4:8080 -Xconnect host.example.com 42\n</pre><pre>\n Ещё один похожий пример, на этот раз задействована прокси аутентификация\n с именем пользователя &quot;ruser&quot;, если прокси потребует его:\n</pre><pre>\n $ nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42\n</pre><pre><strong>СМОТРИТЕ ТАКЖЕ\n</strong> cat(1), ssh(1)\n</pre><pre><strong>АВТОРЫ\n</strong> Оригинальная реализация сделана *Hobbit* .\n Переписано с поддержкой ipv6 Eric Jackson .\n</pre><pre><strong>ПРЕДУПРЕЖДЕНИЯ\n</strong> Сканирование UDP портов будет всегда успешным (т.е. сообщит, что порты\n открыты ), Использование комбинации флагов -uz относительно бесполезно.\n</pre><pre><strong>FreeBSD 7.0 May 21, 2006 FreeBSD 7.0</strong></pre></pre><pre>\n </pre></pre></div>\n', created = 1767416606, expire = 1767503006, headers = '', serialized = 0 WHERE cid = '2:ec7a5844bcc5e0503a0c76049cd62462' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767416606, expire = 1767503006, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767416606, expire = 1767503006, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version
NC(1)           FreeBSD General Commands Manual            NC(1)

НАИМЕНОВАНИЕ
 	nc -- реализация подключений и ожиданий входящих соединений, через TCP и UDP

КРАТКИЙ ОБЗОР
	nc [-46DEdhklnorStUuvz] [-e IPsec_policy] [-i interval]
	[-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]
	[-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [hostname]
	[port[s]] 
ОПИСАНИЕ
	Утилита nc (или netcat) используется практически для всего, что касается
	TCP или UDP. Открытие TCP соединений, посылка UDP пакетов, прослушива-
	ние TCP и UDP портов, сканирование портов, и работа с версиями IPv4 и
	IPv6. В отличии от telnet(1), nc выводит сообщения об ошибках на стан-
	дартный вывод ошибок, вместо посылки их на просто стандартный вывод, как
	это делает telnet(1).

	Основное применение:
	- примитивное TCP проксирование
	- написание shell-сценариев эмулируюших HTTP запросы
	- тестирование сетевых демонов
	- SOCKS или HTTP ProxyCommand для ssh(1)
	- и многое, многое другое
	Существуют следующие опции:

	-4 Использовать только IPv4 адреса.

	-6 Использовать только IPv6 адреса.

	-D Включить отладку на сокете.

	-d Не читать стандартный ввод(stdin).

	-h Вывести справку по nc.

	-E Эквивалентно комбинации "-e 'in ipsec esp/transport//require'

	-e 'out ipsec esp/transport//require'", которая включает транс-
	портный режим IPsec ESP в обоих направлениях

	-e Если поддержка IPsec доступна, то можно указать используемую
	политику IPsec, следуя синтаксису, описанному в
	ipsec_set_policy(3). Если необходимо, этот флаг может быть
	указана два раза, по одному правилу для каждого направления.
 

	-i interval
	Временной интервал задержки между посылаемыми и принимаемыми
	строками текста. Так же задаёт интервал задержки между подклю-
	чениями к нескольким портам.
	-k Продолжать слушать(ожидать) следующее соединение, после того,
	как текущее соединение было закрыто. Ошибочно использовать эту
	опцию без опции -l.
 

	-l Слушать входящие соединения, вместо подключения к удалённому
	хосту. Ошибочно использовать эту опцию в связке с опциями -p,
	-s, или -z. Кроме того, любой тайм аут указанный с помощью
	опции -w игнорируется.
 
	-n Не производить никаких преобразований имён и сервисов, в адреса
	и номера портов.
 
	-o ''Once-only режим''. По умолчанию, nc не завершает работу по
	сигналу EOF поступившему на стандартный ввод, а продолжает
	работу до тех пор, пока одна из сторон не отключится. Ключ -o
	позволяет включать поддержку сигнала EOF.
 
	-P proxy_username
	Имя пользователя, чтобы представиться прокси серверу, требующему
	аутентификации. Если не указать имя пользователя, тогда аутен-
	тификация не удастся. На данный момент прокси аутентификация
	поддерживается только для HTTP СОЕДИНЕНИЯ.
 
	-p source_port
	Исходный порт, который nc должен использовать. Ошибочно исполь-
	зовать эту опцию в связке с опцией -l.

	-r Исходные порты и/или порты назначения будут выбраны в случайном
	порядке, нежели в последовательном.
 
	-S Включить RFC 2385 TCP MD5 подпись.
 
	-s source_ip_address
	IP интерфейса, который используется для посылки пакетов.
	Ошибочно использовать эту опция в связке с опцией -l.
 
	-T ToS Тип обслуживания (ToS) IP для соединения. Действующие значения,
	обозначаются ярлыками "lowdelay", "throughput", "reliability",
	или 8-битными шестнадцатеричными значениями обозначающимися, как
	"0x".
 
	-t Посылать RFC 854 DON'T и WON'T ответы и DO и WILL запросы. Это
	делает возможным использовать nc для написания скриптов telnet
	сессий.
 
	-U Использовать сокеты (Unix Domain Sockets).
 
	-u Использовать UDP, взамен используемого по-умолчанию TCP.
 
	-v Выводить больше отладочной информации.
	-w timeout
	Если соединение и стандартный ввод не используются больше чем
	заданный тайм аут в секундах, тогда соединения закроется. Флаг
	-w не эффективен c опцией -l, т.е. nc будет слушать соединение
	всегда, с или без флага -w. По умолчанию тайм аут не задан.

	-X proxy_protocol
	Использовать указанный протокол, для обращения к прокси серверу.
	Поддерживает протоколы "4" (SOCKS v.4), "5" (SOCKS v.5) и
	"connect" (HTTPS proxy). Если протокол не указан, используется
	SOCKS 5 версии.

	-x proxy_address[:port]
	Соединяться к хосту используя прокси с адресом proxy_address и
	портом port. Если port не указан, тогда будут использоваться
	стандартные порты для прокси протокола (1080 для SOCKS и 3128
	для HTTPS).
 
	-z Сканировать на наличие слушающих демонов, без посылки им данных.
	Ошибочно использовать эту опцию в связке с опцией -l.
	имя хоста может быть указано в виде IP адреса или его имени (если не
	задана опция -n). Обычно имя хоста должно указываться, кроме случая с
	использованием опции -l (слушает локальные адреса).

	порты могут быть указаны по одному, либо в диапазоне. Диапазон в формате
	nn-mm. Обычно порт назначения должен быть указан, кроме случаев с
	использованием опции -U (указывается сокет).
	имя хоста может быть указано в виде IP адреса или его имени (если не
задана опция -n). Обычно имя хоста должно указываться, кроме случая с
использованием опции -l (слушает локальные адреса).

 

	порты могут быть указаны по одному, либо в диапазоне. Диапазон в формате
	nn-mm. Обычно порт назначения должен быть указан, кроме случаев с
	использованием опции -U (указывается сокет).

МОДЕЛЬ КЛИЕНТ/СЕРВЕР
	Очень легко построить примитивную модель клиент/сервер используя nc.
	На одной консоли запускаем nc слушать указанный порт на соединение.

	Пример:

	$ nc -l 1234
	nc слушает порт 1234 на соединение. На второй консоли (или на второй
	машине) соединяемся с машиной на прослушиваемый порт:
	$ nc 127.0.0.1 1234

	Должно произойти соединение между портами. Всё, что будет набрано на
	второй консоли, будет отображено на первой и наоборот. После того,
	как будет установлено соединение, nc не волнует, какая из сторон
	будет использоваться, как `server', а какая, как `client'. Соединение
	может быть прервано используя EOF (`^D').
ПЕРЕДАЧА ДАННЫХ
	Предыдущий пример может быть расширен, для построения передачи данных.
	Любая информация направленная в одну из сторон соединения будет получена
	на другом конце, и ввод и вывод легко могут быть построены в такой
	последовательности, чтобы эмулировать передачу данных.
	Начните используя nc для прослушивание порта, c перенаправленным из него
	файлом:
 
	$ nc -l 1234 > filename.out
 
	Используйте вторую машину, для подключения к слушающему процессу nc, с
	перенаправлением в него передающегося файла.
 
	$ nc host.example.com 1234 < filename.in
 
	После передачи файла, соединение автоматически закроется.

ОБЩЕНИЕ С СЕРВЕРАМИ
	Иногда полезно поздороваться с сервером "рукопожатием".Это может помочь
	поиску неисправностей, может быть необходимо выяснить, какую именно
	информацию сервер шлёт клиентам. Например, для получения домашней
	страницы веб сайта:
 
	$ echo -n "GET / HTTP/1.0rnrn" | nc host.example.com 80
 
	Обратите внимание, что также будут отображены заголовки высланные веб
	сервером. Они могут быть отфильтрованы с помощью sed(1), если это
	необходимо.
 
	Более сложный пример может быть построен, когда пользователь знает
	формат ответа посылаемого сервером. Как другой пример, можем
	представляться SMTP серверу:
 
	$ nc localhost 25 << EOF
	HELO host .example.com
	MAIL FROM:
	RCPT TO:
	DATA
	Body of email.
	.
	QUIT
	EOF
 
СКАНИРОВАНИЕ ПОРТОВ
	Полезно знать какие порты открыты и какие сервисы запущены на исследуе-
	мой машине. Флаг -z может быть использован, чтобы узнать об открытых
	портах не инициируя соединение. Например:
 

	$ nc -z host.example.com 20-30
 
	Connection to host.example.com 22 port [tcp/ssh] succeeded!
	Connection to host.example.com 25 port [tcp/smtp] succeeded!

	Был указан диапозон портов 20 - 30.
	Также это может быть использовано, чтобы узнать какой серверный софт
	запущен, и его версия. Эту информацию содержит приветствующее сообщение.
	Как правило, чтобы сделать это, вначале необходимо инициировать соедине-
	ние, затем оборвать его, когда будет получено приветствие. Это может
	быть выполнено указанием маленького тайм аута с помощью флага -w , или
	можно использовать команду "QUIT" на сервере:

	$ echo "QUIT" | nc host.example.com 20-30
	SSH-1.99-OpenSSH_3.6.1p2
	Protocol mismatch.
	220 host.example.com IMS SMTP Receiver Version 0.84 Ready

ПРИМЕРЫ
	Открыть TCP соединение на порт 42 на host.example.com, используя 31337,
	как исходный порт, с тайм аутом в 5 секунд:

	$ nc -p 31337 -w 5 host.example.com 42

	Открыть UDP соединение на порт 53 на host.example.com:

	$ nc -u host.example.com 53

	Открыть TCP соединение на порт 42 на host.example.com используя 10.1.2.3,
	как исходный IP:

	$ nc -s 10.1.2.3 host.example.com 42
 
	Открыть TCP соединение на порт 42 на host.example.com, используя IPsec
	ESP для входящего и исходящего трафика.
 
	$ nc -E host.example.com 42
 
	Открыть TCP соединение на порт 42 на host.example.com, используя IPsec
	ESP только для исходящего трафика
	$ nc -e 'out ipsec esp/transport//require' host.example.com 42
	Создать и слушать на Unix Domain Socket:
	$ nc -lU /var/tmp/dsocket
 
	Соединиться на порт 42 на host.example.com используя HTTP прокси
	10.2.3.4, порт 8080. Этот пример может быть использован ssh(1);
	смотрите ProxyCommand директивы в ssh_config(5) для получения
	большей информации.
 
	$ nc -x10.2.3.4:8080 -Xconnect host.example.com 42
	Ещё один похожий пример, на этот раз задействована прокси аутентификация
	с именем пользователя "ruser", если прокси потребует его:
	$ nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42
СМОТРИТЕ ТАКЖЕ
	cat(1), ssh(1)
АВТОРЫ
	Оригинальная реализация сделана *Hobbit* .
	Переписано с поддержкой ipv6 Eric Jackson .
ПРЕДУПРЕЖДЕНИЯ
	Сканирование UDP портов будет всегда успешным (т.е. сообщит, что порты
	открыты ), Использование комбинации флагов -uz относительно бесполезно.
FreeBSD 7.0        May 21, 2006             FreeBSD 7.0
 
Ваша оценка: Нет Средняя: 4.7 (13 голосов)

Вставай, Україно!

Литература

Открытая дверца холодильника мешает открытию микроволновки. Налицо конфликт оборудования!