Перейти до основного контенту

Як дізнатися, хто слухає порти на Linux: простий та ефективний спосіб

10 хв читання
1010 переглядів
Налаштування безпеки в Linux є однією з ключових задач будь-якого адміністратора. Знання того, які порти слухає ваша система, допоможе вам виявити несанкціоновані підключення та запобігти можливим загрозам безпеці. У цій статті ми розглянемо простий і ефективний спосіб дізнатися, хто слухає порти на Linux. Для цього ми використовуватимемо команду "netstat". "Netstat" - це утиліта командного рядка, яка дозволяє переглядати мережеві з'єднання та відкриті мережеві порти на вашій системі. З її допомогою ви можете дізнатися, які саме порти відкриті і які процеси їх слухають. Щоб скористатися "netstat", відкрийте термінал і введіть наступну команду: Ця команда покаже вам список відкритих TCP і UDP портів на вашій системі, а також відповідні їм процеси. Аналіз портів на Linux Існують різні інструменти та команди дляаналізу портів на Linux. Один із простих і ефективних способів - використання команди netstat. Команда netstat дозволяє переглянути активні з'єднання та прослуховувані порти на системі.

Щоб дізнатися, хто прослуховує порти на Linux, вам потрібно виконати наступну команду:

  • -t : дозволяє показати тільки TCP-з'єднання
  • -u : дозволяє показати тільки UDP-з'єднання
  • -l : дозволяє показати тільки прослуховувані порти
  • -n : дозволяє показати порти в числовому форматі, без перетворення в імена служб

Результатом виконання цієї команди буде список портів і відповідних процесів, які використовують ці порти. Таким чином, ви зможете визначити, які служби працюють на вашій системі і на яких портах вони прослуховують.

Чому це потрібно?

Така інформація може бути корисною не лише з погляду безпеки, а й для оптимізації роботисистеми. Дізнавшись, які порти зайняті, можна визначити, які додатки використовуються і як вони взаємодіють одне з одним. Це знання дозволяє оптимізувати налаштування програм і ресурси системи в цілому.

Пошук відкритих портів також корисний для роботи мережевих адміністраторів і системних інженерів, які займаються налаштуванням і обслуговуванням мереж і серверів. Вони можуть використовувати цю інформацію для моніторингу та управління трафіком, пошуку проблем і накладення обмежень на доступ до певних портів.

Крім того, знання того, хто слухає порти на Linux, може допомогти в діагностиці проблем з мережевим підключенням і в пошуку конфліктів між різними додатками та сервісами.

В цілому, виявлення активних портів на Linux є важливою процедурою, яка дозволяє забезпечити безпеку системи, оптимізувати її роботу і виявляти проблеми, пов'язані з мережевою взаємодією.

Визначення активних портівNetstat - це утиліта командного рядка, яка відображає мережеву статистику та інформацію про мережеві з'єднання, включаючи відкриті порти. Щоб дізнатися, які порти слухають на вашій машині, введіть наступну команду:Ця команда покаже список усіх відкритих TCP та UDP портів, їхній стан та процес, який слухає кожен порт. Тут:-tпоказує TCP порти;-uпоказує UDP порти;-lпоказує лише порти, що слухають (а не активні з'єднання);-pвідображає PID та ім'я процесу, пов'язані з кожним портом;-nвідключає розпізнавання імен хостів та портів.Щоб виконати команду netstat, вам можуть знадобитися права суперкористувача. Якщо у вас немає таких прав, ви можете спробувати використовувати команду ss.Тепер ви знаєте, як визначити активні порти на Linux за допомогою команди netstat. Цей простий і ефективний спосіб допоможе вам отримати необхідну інформацію про поточні з'єднання та процеси, які слухають порти на вашій машині.Яка програма слухає порт?Netstat - утиліта командного рядка, яка дозволяє переглядати стан мережевих підключень та маршрутів. Щоб дізнатися, яка програма слухає порт, можна використовувати прапорець -l (або --listening), який покаже всі відкриті сокети, на яких виконуються серверні служби.Наприклад, щоб дізнатися, яка програма слухає порт 80, можна виконати наступну команду:netstat -tuln | grep ':80'Результатом виконання цієї команди буде список усіх процесів, які слухають порт 80, включаючи ім'я програми та її ID процесу.Іншим способом визначити, яка програма слухає порт, є використання утиліти lsof (Список Відкритих Файлів). Lsof також дозволяє переглядати відкриті файли, включаючи мережеві з'єднання та порти. Щоб дізнатися, яке додаток слухає порт, можна використати наступну команду:lsof -i :80Ця команда покаже список процесів, відкритих на порту 80, включаючи ім'я додатку та його ID процесу.Зверніть увагу, що для використання команд netstat та lsof вам можуть знадобитися права суперкористувача (root) або права доступу до системних файлів.Таким чином, за допомогою утиліти netstat або lsof можна легко визначити, яке додаток слухає певний порт на Linux.Простий спосіб визначенняДля використання команди netstat вам необхідно відкрити термінал і ввести наступну команду:netstat -tulnЦя команда дозволяє відобразити список слухаючих портів у форматі:ПротоколЛокальна адресаЗовнішня адресаСтанTCP0.0.0.0:220.0.0.0:0СЛУХАЄTCP0.0.0.0:800.0.0.0:0СЛУХАЄТут ви можете побачити інформацію про порти, що слухаються, такі як протокол (TCP або UDP), локальна адреса, зовнішня адреса та стан з'єднання.Стан "СЛУХАЄ" означає, що порт відкритий і готовий до прийому вхідних з'єднань.Таким чином, використовуючи команду netstat з аргументом -tuln, ви можете швидко дізнатися, які порти слухаються на вашій системі Linux. Це може бути корисним при аналізі безпеки системи або при налаштуванні мережевих програм.Ефективний спосіб визначенняДля визначення, хто слухає порти на Linux, можна використовувати командуnetstat.Вона дозволяє переглядатисписок усіх активних мережевих з'єднань та відкритих портів на комп'ютері.Для запуску команди потрібно відкрити термінал і ввести:ОпціяОпис-tПоказати TCP-з'єднання-uПоказати UDP-з'єднання-lПоказати тільки слухаючі порти-nПоказати номери портів у вигляді чиселПісля виконання команди, у терміналі буде виведений список з'єднань та відкритих портів. У стовпці "Адреса" вказано, до якого IP-адресу та порту належить з'єднання.Наприклад, рядок "tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN" означає, що на порту 22 слухається TCP-з'єднання.Таким чином, використовуючи команду netstat, можна легко визначити, хто слухає порти на Linux та які з'єднання встановлені.Додаткові можливості

На додаток до основного функціоналу, визначення, хто слухає порти на Linux, є кілька додаткових можливостей, які можуть бути корисними в аналізі та контролі мережевих з'єднань.

1. Фільтрація виводу

При використанні команди netstat можна застосувати фільтри для більш точного пошуку інформації. Наприклад, можна відфільтрувати вивід за певним портом або IP-адресою, використовуючи наступний синтаксис:

netstat -tunap | grep

де - це параметр, який потрібно фільтрувати (наприклад, порт або IP-адреса).

2. Відображення процесу, який слухає порт

Команда netstat дозволяє дізнатися PID процесу, який слухає певний порт. Для цього скористайтеся опцією -p, наприклад:

netstat -tunap | grep | awk ''

де - це параметр, який потрібно фільтрувати (наприклад, порт або IP-адреса).

3. Управління мережевими з'єднаннями

Якщо ви хочете управляти мережевими з'єднаннями, такими як закриття відкритого порту, можна використовувати команду iptables. Ця команда дозволяє налаштовувати правила фільтрації пакетів і маніпулювати мережевими з'єднаннями.

Примітка:Для виконання команд netstat та iptables потрібні права суперкористувача.

В результаті використання цих додаткових можливостей, ви можете отримати більш повну інформацію про мережеві з'єднання та управляти ними з більшою гнучкістю.