💡 Примечание: Безопасность сервера начинается с правильной среды хостинга. Наш VPS оснащён производительным железом, файрволами на базе AI и продвинутой защитой DDoS - ваш сервер и данные под надёжной защитой. Выберите наш Linux VPS для надёжной и безопасной основы для задач вашего сервера.
Безопасность всегда важна, а когда речь идёт о серверах и портах, которые они используют для TCP/IP и UDP соединений, — тем более. Утилита Netcat — это удобный инструмент для защиты инфраструктуры и обнаружения вредоносного ПО, а также для легального пентеста. Netcat отличается высокой гибкостью и существует уже очень давно. Он предустановлен во всех основных дистрибутивах Linux, что делает его ещё более популярным инструментом для анализа сети. Совсем недавно Netcat получил порт для Windows, так что вы можете использовать его и для защиты своего Windows сервера.
В этом руководстве по Netcat мы разберём, что такое Netcat listener и как использовать его для мониторинга TCP и UDP портов на вашем сервере. Начнём с того, что такое Netcat listener.
Что такое Netcat listener?
Итак, Netcat — это мощный инструмент для мониторинга сети, который работает как на Linux, так и на Windows. Но что означает слово «listener» в названии Netcat listener? Это отдельное приложение? Нет: Netcat listener — это просто способ обозначить одну из функций Netcat: прослушивание открытых портов. Основная задача Netcat — читать и записывать данные по протоколам TCP и UDP, но он также умеет перехватывать трафик других приложений.
Хостинг Linux без лишних сложностей
Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.
Получите свой Linux VPSПрограммы передают данные по сети через протоколы TCP и UDP, которые используют порты. Порты — это каналы связи для входящего и исходящего трафика на любом компьютере, и все данные проходят через них. Именно поэтому одна из главных задач межсетевых экранов — блокировать все неиспользуемые порты на серверах. Подробнее о портах вы можете узнать из этой статьи о перенаправлении портов. А теперь перейдём к инструкциям и посмотрим, как использовать Netcat для прослушивания подозрительных портов. Конечно, Netcat listener можно применять и для передачи данных или файлов по сети, но поскольку это небезопасно, такой вариант нельзя считать разумным.
Как использовать Netcat listener из терминала Linux?
Использовать Netcat listener, запустив команду Netcat, совсем несложно. Права суперпользователя (sudo) не нужны — если только вы не хотите получить доступ к портам с номерами ниже 1024. Чтобы запустить Netcat listener, просто введите следующую команду в терминале Linux:
netcat -l [options] [host] [port]
В этой команде параметр -l указывает Netcat прослушивать порт. Его можно комбинировать с другими параметрами для сканирования портов, передачи данных и многого другого. В остальных разделах этого руководства приведены примеры использования Netcat.
Как настроить Netcat listener на TCP/UDP порту
Настроить сетевой listener с помощью Netcat довольно просто. Вам понадобятся ваш ПК и удалённый компьютер или сервер. Я буду использовать Облачный VPS Cloudzy Linux.
Шаг 1: сканирование диапазона портов
Первый шаг — сканирование открытых портов на вашем сервере. Если у вас уже есть конкретный порт, можете пропустить этот шаг. Чтобы использовать Netcat как сканер портов, запустите его с опцией -z:
netcat -z -v -n REMOTE_COMPUTER_IP_ADDRESS 2000-5000
В этом примере я указал Netcat сканировать все порты в диапазоне 2000-5000 на удалённом компьютере. Вместо REMOTE_COMPUTER_IP_ADDRESS введите фактический IP-адрес вашего сервера. Выполнение этой команды в терминале Linux или командной строке Windows выдаст большой объём информации, преимущественно о закрытых портах. Чтобы видеть только открытые порты, я предпочитаю использовать более эффективный метод.
Шаг 2: поиск открытых портов
netcat -z -v -n REMOTE_COMPUTER_IP_ADDRESS 2000-5000 2>&1 | grep succeeded
Для каждого открытого порта команда выведет примерно следующее:
Подключение к IP_ADD через порт 2200 [tcp/*] выполнено успешно!
Подключение к IP_ADD через порт 2330 [tcp/*] выполнено успешно!
Шаг 3: настройка Netcat listener на сервере
В этом примере на сервере открыты два порта: 2200 и 2330. Допустим, я хочу настроить прослушиватель на сервере, чтобы видеть, что передаётся через порт 2200. Сначала запущу прослушиватель:
netcat -l -p 2200
Эту команду можно запустить как в Windows Command Prompt, так и в Linux Terminal или Shell.
Хостинг Linux без лишних сложностей
Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.
Получите свой Linux VPSШаг 4: отправка тестового сообщения через Netcat с вашего ПК
После того как прослушиватель настроен на сервере, проверьте его работу: отправьте тестовое сообщение со своего компьютера.
netcat -u ip_address 2200
Здесь ip_address — это IP-адрес вашего удалённого рабочего стола или сервера. Если соединение установлено успешно, введите любое сообщение: оно появится в прослушивателе Netcat на сервере. Следить за этим можно через an RDP или VNC-подключение.
Шаг 5 (необязательно): сохранение данных в файл
Если вы хотите сохранить данные, полученные через прослушиватель Netcat, для последующего анализа, запишите их в текстовый файл следующей командой.
netcat -l 2200 > heard.out
Например, эта команда указывает Netcat записывать всё, что он «слышит» на порту 2200, в текстовый файл heard out, который можно открыть в любом текстовом редакторе. Подробное описание команд Netcat доступно в документации Netcat.
Как использовать Netcat UDP для P2P обмена файлами и торрентинга
Как уже упоминалось, Netcat позволяет передавать файлы, но делать это без дополнительных мер защиты — не лучшая идея: уровень безопасности при передаче данных здесь невысок. Исправить это можно, используя User Datagram Protocol (UDP) вместо стандартного TCP/IP. UDP — относительно новый протокол, который часто предпочитают за высокую скорость и минимальные накладные расходы. При этом он хорошо подходит для передачи файлов через Netcat. Как использовать Netcat UDP для P2P-обмена файлами? Следуйте инструкции ниже.
Читайте также: Какие бывают протоколы передачи файлов?
Настройка получателя
Для P2P-передачи файлов через Netcat потребуются два компьютера: один для отправки файла, другой для получения. Чтобы не запутаться, разберём на примере: компьютер получателя имеет IP-адрес 1.1.1.1, и мы попробуем отправить файл file.txt через порт 3031. Сначала запустим Netcat на компьютере получателя следующей командой:
netcat 3031 > file.txt
Эта команда указывает получателю прослушивать порт 3031 и записывать всё входящее в файл file.txt. Таким образом, прослушиватель Netcat используется как инструмент передачи файлов. Файл может быть любым, включая мультимедиа. Теперь запустим передачу на стороне отправителя следующей командой:
netcat 1.1.1.1 3031 < file.txt
Эта команда указывает отправляющему компьютеру загрузить файл file.txt и передать его на компьютер с IP-адресом 1.1.1.1 через порт 3031.
Читайте также: Лучшие инструменты мониторинга производительности Linux
Защита вашего VPS
Безопасность сервера — это непрерывный процесс, который нельзя игнорировать. Блокировка и сканирование портов — необходимые меры для защиты сервера и данных. Однако даже самые продуманные меры защиты теряют смысл, если ваш хостинг-провайдер не уделяет должного внимания безопасности. В Cloudzy мы понимаем, как важны для вас защита и конфиденциальность: именно поэтому мы используем несколько аппаратных и AI-межсетевых экранов, интеллектуальную защиту DDoS и собственные алгоритмы безопасности. Когда вы берёте Linux VPS от Cloudzy, вы можете быть уверены: со стороны провайдера ваш сервер защищён максимально. Кроме того, у нас есть возможность анонимно купить виртуальный сервер из любой точки мира