Як перевірити доступність портів
12:32, 27.07.2021
Порти є важливою частиною зв'язку між різними пристроями, програмами та службами в мережі. Якщо вам доводиться мати справу з адмініструванням мережі, в багатьох випадках буде корисно знати, як перевірити доступність портів, що є важливою практикою для моніторингу мережі та усунення несправностей у разі виникнення мережевих проблем. Давайте подивимося, як це відбувається.
Про мережеві порти
Порти складають комплексну систему зв'язку в мережі, яка дозволяє пристроям-учасникам обмінюватися необхідними командами по всій мережі і робить можливим функціонування всієї системи. У сучасних мережевих системах порти ідентифікуються номерами, так званими номерами портів, в діапазоні від - до 65535. Різні порти дозволяють спрямовувати дані до потрібного пристрою, програми або сервісу, легко розрізняючи їх.
Типи мережевих портів
Мережеві порти бувають декількох типів. Найпоширеніші з них включають:
- Загальновідомі порти (0-1023) - це порти, які реалізовані в найбільш використовуваних сервісах і протоколах, включаючи HTTP (порт 80), HTTPS (порт 443), FTP (порт 21) і SSH (порт 22). Організація з присвоєння номерів в Інтернеті (Internet Assigned Numbers Authority, IANA) - це орган, який зазвичай присвоює їх певним службам.
- Зареєстровані порти (1024-49151) - це порти, які зареєстровані IANA і призначені для більш специфічних послуг і додатків. Вони визнаються менш універсально, ніж загальновідомі порти.
- Динамічні або приватні порти (49152-65535) - це порти, які не реєструються і не призначаються IANA, а призначаються динамічно операційною системою. Вони здебільшого використовуються для ефемерних або тимчасових сеансів зв'язку в клієнтських програмах.
Як працюють мережеві порти
Коли пристрої взаємодіють через мережу, вони використовують комбінацію IP-адреси та номера порту, за допомогою якої вони можуть встановити з'єднання з іншим пристроєм. Ця комбінація зазвичай називається сокетом.
Наприклад, для HTTP-запиту веб-сервер підключається до IP-адреси сервера через порт 80. Після цього сервер відповідає на запит клієнта через той самий порт, щоб дані потрапили до потрібної програми призначення.
Чому мережеві порти важливі?
Мережеві порти відіграють важливу роль у загальному функціонуванні мереж. Існує кілька ключових завдань, за які вони відповідають в першу чергу:
- Ідентифікація сервісів: За допомогою мережевих портів операційні системи можуть спрямовувати вхідні дані до потрібних програм. Наприклад, дані, які надходять через порт 80, здебільшого обробляються програмним забезпеченням веб-сервера.
- Мережева безпека: Можливість закривати або відкривати порти дає додатковий контроль над безпекою вашої мережі. Оскільки кібер-зловмисники часто використовують відкриті порти для здійснення своїх атак, закривши непотрібні порти, ви можете зменшити кількість потенційних способів атак на вас.
- Усунення несправностей: Якщо виникають будь-які проблеми з мережею, перевірка стану портів є важливою практикою, щоб переконатися, що всі служби працюють так, як вони повинні працювати.
Команда netstat для збору мережевої статистики
Команда netstat є багатоцільовою і дозволяє користувачам відстежувати мережеві з'єднання і збирати статистику. Використовуючи її, ви можете отримати доступ до різноманітної інформації про мережу, серед якої ви також можете знайти відкриті порти і активні з'єднання.
Відображення поточних портів TCP і UDP
TCP (протокол управління передачею) і UDP (протокол користувацьких дейтаграм) є двома основними протоколами набору інтернет-протоколів. Їх основна функція полягає в тому, щоб служити транспортними протоколами. Вони відповідають за керування надсиланням та отриманням даних через мережу.
Для відображення поточних активних портів TCP і UDP ви можете скористатися наступною командою:
netstat -tuln
Після введення цієї команди ви побачите всі слухаючі (відкриті) TCP і UDP порти разом з їхніми статусами.
Перелік усіх активних з'єднань
Ви також можете переглянути всі активні з'єднання одразу. Для цього виконайте цю команду:
netstat -an
Після введення команди ви зможете побачити всі активні з'єднання разом з їхніми протоколами (TCP/UDP), локальними і зовнішніми адресами, а також їхнім станом.
Відкриті порти і активні TCP-з'єднання
Існує також команда для перегляду відкритих портів і активних TCP-з'єднань. Введіть:
netstat -tn
Із застосованим фільтром ви побачите лише TCP-з'єднання.
Відкриті UDP-порти
І навпаки, ви можете перевірити лише відкриті UDP-порти. Для цього введіть:
netstat -un
У виведенні ви побачите виключно відкриті UDP-з'єднання.
Команда lsof (список відкритих файлів)
Команда lsof дозволяє переглянути список відкритих файлів і може бути дуже корисною, якщо ви хочете перевірити, які порти використовуються якими процесами.
lsof -i
Введіть цю команду, і ви побачите всі відкриті інтернет-з'єднання і відповідні процеси.
Активні мережеві підключення
Ви також можете перевірити комбіноване введення команд 'netstat' і 'lsof', щоб отримати більш повну інформацію.
netstat -tulnp
За допомогою цієї команди ви можете переглянути всі порти прослуховування з відповідним PID і назвою програми, таким чином отримавши чітке уявлення про активні мережеві з'єднання і відповідальні за них процеси.
Процеси, що використовують певні порти
Ви також можете подивитися з іншої точки зору і перевірити, які процеси використовують певний порт. Просто введіть:
lsof -i :<номер_порту>.
Замініть <номер_порту> номером порту, який вас зараз цікавить.
Активні UDP і TCP з'єднання
Ви також можете перевірити всі активні UDP і TCP з'єднання, ввівши:
netstat -tun
Висновок
Перевірка доступності портів є одним з найважливіших ноу-хау, яке вам, ймовірно, знадобиться для адміністрування мережі, особливо коли мова йде про усунення мережевих проблем. За допомогою таких інструментів, як «netstat» і «lsof», ви можете отримати детальну інформацію про те, які порти активні і використовуються якими процесами, що, зрештою, дозволить вам з'ясувати, у чому проблема з вашою мережею, і зробити необхідні кроки для її усунення. Цей посібник не охоплює всіх операцій, пов'язаних з перевіркою доступності портів, але він, безсумнівно, дасть вам кілька хороших підходів, з яких можна почати. Успіхів вам!