Керування мережею за допомогою Netcat
Netcat – це гнучкий інструмент, який читає та записує дані в мережі
мережеві з'єднання за протоколом TCP/IP. Це цінний інструмент для
налагодження мережі та дослідження, а також використовується в різних
заходах безпеки, таких як сканування портів, передача файлів і створення
чорного входу під час тестування на проникнення. Ця стаття містить
покрокову інструкцію щодо встановлення та використання функції прослуховування Netcat на
системах Ubuntu або Debian.
Встановлення
Netcat
Netcat — стандартна утиліта, доступна в репозиторіях більшості
дистрибутивів Linux. Нижче наведено інструкції встановлення для деяких
найпоширеніших дистрибутивів Linux.
nc -h

Ubuntu/Debian
На Ubuntu або Debian ви можете встановити Netcat за допомогою такої команди
команди:
sudo apt-get update
sudo apt-get install netcat
CentOS/RHEL
Для CentOS або Red Hat Enterprise Linux можна скористатися YUM (або DNF в
новіших версіях) для встановлення Netcat:
sudo yum install nc
Використання Netcat
Слухач
Функція прослуховування Netcat дозволяє стежити за трафіком мережі на
конкретних портах, надаючи інформацію про передачу даних у реальному часі та
допомагаючи у вирішенні проблем мережі або аналізі безпеки.
Частина 1: сканування на
Відкрити порти
Перед налаштуванням прослуховувача корисно визначити відкриті порти на
вашому сервері. Netcat може сканувати один порт або діапазон портів.
Сканування діапазону портів:
Щоб сканувати діапазон портів, скористайтеся такою командою, замінивши
[REMOTE_COMPUTER_IP] IP-адресу сервера та
[PORT_RANGE] діапазоном портів для сканування, наприклад
2000-5000:
netcat -z -v -n [REMOTE_COMPUTER_IP] [PORT_RANGE]
Приклад:
Щоб сканувати порти від 2999 до 3014 на сервері з IP-адресою
127.0.0.1, команда матиме такий вигляд:

Щоб відфільтрувати результати й показати лише відкриті порти, ви можете
використання grep:
netcat -z -v -n 172.86.74.34 2000-5000 2>&1 | grep succeeded!

Сканування одного порту:
Якщо вам потрібно перевірити один порт, ви можете використати:
netcat -z -v -n [REMOTE_COMPUTER_IP] [PORT]
Наприклад, щоб сканувати порт 3000 на сервері:
netcat -z -v -n 172.86.74.34 3000

Ця команда покаже, чи відкритий порт 3000, чи закритий.
Частина 2: Налаштування
Netcat Listener
Коли ви виявите відкритий порт або якщо у вас є конкретний порт,
який ви хочете моніторити, ви можете налаштувати слухач Netcat. Щоб слухати порт
2200, наприклад, використайте таку команду:
netcat -l -p 2200

Ця команда наказує Netcat слухати порт 2200 для будь-яких
вхідні дані.
Частина 3: Відправка тестового повідомлення
Повідомлення
Щоб перевірити, чи правильно налаштований ваш слухач Netcat, ви можете відправити
тестове повідомлення з іншої машини. Відкрийте термінал на іншому комп'ютері
та використайте таку команду:
netcat [SERVER_IP] 2200
Замінити [SERVER_IP] з IP-адресою
сервера, де запущений слухач Netcat. Після встановлення з'єднання
ви можете введення своє повідомлення й натиснути Enter. Повідомлення
повинно з'явитися на сервері, де налаштований слухач Netcat.

Частина 4: Збереження даних у
Файл
Якщо ви хочете зберігти запис даних, які проходять через порт,
який ви моніторите за допомогою Netcat, ви можете перенаправити вивід до файлу.
Ось як зберегти вхідні дані до файлу з назвою
output.txt:
netcat -l -p 2200 > output.txt
Виконання цієї команди спрямує все отримане Netcat
слухач на порту 2200 до файлу
output.txt Пізніше ви можете переглянути цей файл будь-яким текстовим
редактор.

Частина 5: Відправлення
Файл
Щоб надіслати файл за допомогою Netcat, вам потрібно виконати дії на обох
надсилаючій та приймаючій машинах.
На приймаючій машині:
Налаштуйте Netcat для прослуховування певного порту та перенаправлення вхідних
даних до файлу. Наприклад, щоб прослуховувати порт 2200 та зберегти
вхідні дані до output.zip, використовуйте:
netcat -l -p 2200 > archive.zip
На надсилаючій машині:
Надішліть файл за допомогою Netcat, підключившись до IP-адреси слухача
та порту, потім перенаправивши файл до Netcat. Замініть
[RECEIVER_IP] на IP-адресу приймаючої
машина:
netcat [RECEIVER_IP] 2200 < yourfile.zip
Замінити yourfile.zip на шлях та назву
zip-файлу, який ви хочете надіслати.

Примітка: При передачі файлів переконайтеся, що
брандмауер не блокує з'єднання та що процес Netcat приймаючої машини
запущений до виконання команди надсилання.
Додаткові
Можливості Netcat
Універсальність Netcat виходить далеко за межі простої передачі файлів та
прослуховування портів. Це багатофункціональний інструмент, який служить різним
мережевим цілям: від безпеки до комунікації. Ось короткий огляд
його додаткових можливостей:
-
Створення чат-сервера: Netcat можна налаштувати
для забезпечення синхронного текстового спілкування між користувачами, діючи як
простий чат-сервер. -
Захоплення банерів сервісів: Підключившись до відкритого
портів Netcat може отримувати банери сервісів, що допомагає визначити
потенційно уразливі версії програмного забезпечення. -
Налагодження мережі: Це відмінний інструмент для
діагностики мережевих сервісів, що дозволяє відправляти власні запити та
аналізувати відповіді для усунення проблем. -
Віддалене адміністрування: Netcat може прив'язати командну оболонку
до мережевого порту, забезпечуючи дистанційний доступ до командного рядка іншого
комп'ютера, що особливо корисно для системного
адміністратори. -
Тестування мережевих демонів: Розробники можуть використовувати
Netcat для взаємодії з мережевими демонами, відправляючи тестові дані та команди
для того, щоб побачити, як веде себе сервіс. -
Функціональність проксі-сервера: За допомогою Netcat налаштування
базового проксі простого, дозволяючи перенаправляти трафік та
потенційно моніторити або аналізувати його для різних цілей. -
Емуляція мережевих сервісів: Він може імітувати
мережевих сервісів, надаючи імітовану відповідь на вхідні мережеві
запити, що корисно для тестування клієнтських додатків. -
Базове налаштування сервера TCP/UDP: Netcat може слухати на
вказаних портах для вхідних запитів TCP або UDP, що робить його інструментом для
створення простих серверів. -
Скрипти та автоматизація: Його інтерфейс командного рядка
дає змогу легко інтегрувати Netcat у більші
завдання автоматизації та оптимізувати повторювані мережеві операції. -
Тунелювання даних: Netcat можна використовувати для створення
тунелю даних, що дозволяє перенаправляти потоки даних з однієї
мережі на іншу. -
Синхронізація часу: Він може забезпечити
синхронізацію системних годинників у мережі через передачу даних часу
між машинами. -
Тестування безпеки: Netcat є стандартним інструментом для
тестування безпеки, використовується для імітації мережевих атак та перевірки ефективності
конфігурації брандмауера. -
Тестування з'єднання: Швидко й ефективно перевірте
можливість встановлення з'єднань TCP або UDP, що критично важливо для
налаштування та обслуговування мережі.
Кожна з цих можливостей демонструє універсальність Netcat,
роблячи його незамінним інструментом у наборі мережевих утиліт. Чи то для
розробки, усунення проблем чи аналізу безпеки, простота та потужність Netcat
роблять його основною утилітою для професіоналів у сфері мереж. Якщо ви
є питання, звертайтеся до нас через подання
квиток.
Також в Secure Shell Protocol (SSH)
Пов'язані посібники.
Вам потрібна допомога з чимось іншим?
Медіанний час відповіді менше 1 години. Справжні люди, не боти.