IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2016 » Ноябрь » 4 » Полезные примеры использования утилиты netcat в Linux
    07:33
    Полезные примеры использования утилиты netcat в Linux

    Полезные примеры использования утилиты netcat в Linux

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

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

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

    Учтите, что при использовании 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 [tcp/ssh] 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-портов на удаленном узле

    Приведенная ниже команда предназначена для сканирования портов из диапазонов [1-1000] и [2000-3000] и вывода списка открытых портов.

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

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

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

    $ nc -lp 5000 > my.jpg
    

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

    $ 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 [udp/*] succeeded!
    Connection to 192.168.1.8 5353 port [udp/*] succeeded!
    Connection to 192.168.1.8 16389 port [udp/*] succeeded!
    Connection to 192.168.1.8 38515 port [udp/*] succeeded!
    Connection to 192.168.1.8 45103 port [udp/*] 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://<IP_адрес_узла>: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 0<proxypipe | nc www.google.com 80 1> proxypipe; 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
    

     

     

    http://rus-linux.net/MyLDP/lvs/useful_netcat_examples_on_linux.html

     

    Категория: Linux и не только | Просмотров: 584 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024