Практическое использование команды nc (netcat) в Linux
Netcat - один из мощных сетевых инструментов, инструментов безопасности или инструментов сетевого мониторинга . Он действует как команда cat по сети. Он даже считается швейцарским армейским ножом сетевых инструментов.
Обычно он используется по следующим причинам:
- Операции, связанные с сокетами TCP, UDP или UNIX-домена
- Сканирование портов
- Прослушивание порта
- Перенаправление порта
- открыть удаленные подключения
- Чтение / запись данных по сети
- Отладка сети
- Тестирование сетевого демона
- Простые TCP-прокси
- Команда Socks или HTTP-прокси для ssh
Он разработан с учетом того, что он должен быть гибким «внутренним» инструментом, который можно использовать напрямую или управлять любой другой программой.
Установка инструмента мониторинга процессов netcat (nc)
Чтобы установить инструмент Netcat, используйте следующие команды в соответствии с вашим дистрибутивом Linux.
В случае Debian / Ubuntu
$ sudo apt-get install netcat
В случае CentOS / RHEL
$yum install nc
В случае Fedora 22+ и RHEL 8
$ dnf установить nc
Работа с netcat Security Tool
1. Чтобы начать прослушивание порта, сначала откройте 2 окна терминала.
Терминал 1 для прослушивания
$ nc -l -p 1234
Терминал 2 отправляет запрос
$ NC 127.0.0.1 1234
Примечание. Здесь номер порта - 1234, а по умолчанию - localhost.
Он ничего не будет отображать, но начнет прослушивать порт 1234 на локальном хосте с терминала 1. И все, что введено в терминал 2, также будет отражено обратно в терминал 1, что подтверждает, что соединение установлено успешно.
2. Перенести данные. Откройте 2 окна терминала.
Терминал 1 для прослушивания
$ nc -l -p 1234> output.txt
Терминал 2 для отправки запроса
$ echo "GeeksforGeeks"> input.txt $ nc 127.0.0.1 1234 <input.txt
Примечание. Здесь номер порта - 1234, а по умолчанию - localhost. Он отправит данные файла input.txt с терминала 2 в файл output.txt на терминале 1.
3. Выполнить сканирование портов. Введите следующую команду на терминале.
Сканирование одного порта
$ netcat -z -v 127.0.0.1 1234
Сканирование нескольких портов
$ nc -z -v 127.0.0.1 1234 1235
Сканирование ряда портов
$ nc -z -v 127.0.0.1 1233-1240
Примечание. Здесь номера портов 1234, 1235, 1233 и 1240, вы можете изменить их по своему усмотрению. Он отобразит номер порта со статусом (открыт или нет).
4. Чтобы отправить HTTP-запрос
$printf “GET /nc.1 HTTPs/1.1 Host: www.geeksforgeeks.org ” | nc www.geeksforgeeks.org 80
Примечание. Здесь находится веб-сайт www.geeksfrogeeks.org, вы можете выбрать любой. Он отправит HTTP-запрос на www.geeksfrogeeks.org.
5. Задержать интервал отправки строк. Откройте 2 терминала, как показано ниже:
Терминал 1 для прослушивания
$ nc -l -p 1234
Терминал 2 отправляет запрос
$ nc -i 5 127.0.0.1 1234
Примечание. Здесь номер порта - 1234, а по умолчанию - localhost. Затраченное время - 5 секунд. Каждое будет отправлено через 5 секунд.