Уявіть, що ви приходите на залізничний вокзал. Сама будівля вокзалу існує за однією адресою, але всередині є ще багато локацій. Аби купити квиток, ви прямуєте до каси, щоб залишити сумку — до камери схову, а щоб дізнатися розклад — до інформаційного бюро.
У світі комп’ютерних мереж усе працює так само. Коли вашому комп’ютеру потрібно зв’язатися з інтернетом, він використовує IP-адресу — це координати вашого пристрою (уявного вокзалу). Але окрім цього на комп’ютері працюють десятки програм: браузер, месенджер чи гра у Steam. Як операційна система розуміє, які дані віддати правильній програмі?
Це заслуга мережевих портів — віртуальних «віконець» всередині комп’ютера, кожне з яких відповідає за свій тип інформації.
Чим відрізняються віртуальні порти від фізичних
Якщо слово «порт» змальовує вам в голові картинку роз’ємів на корпусі ноутбука, давайте розділимо ці поняття.
- Фізичні порти — це металеві роз’єми, які ви можете побачити і помацати. Наприклад, порт USB для флешки, HDMI для монітора або мережевий порт Ethernet (RJ-45), куди вставляється інтернет-кабель. Їхнє завдання — передавати фізичні сигнали (струм чи світло) по дротах.
- Мережеві порти — це суто цифрова концепція. Вони створені на рівні операційної системи й не мають матеріального втілення.
Коли ваш комп’ютер підключений до інтернету через один єдиний кабель або, у вас задіяний лише один фізичний порт. Проте всередині операційної системи в цей же момент можуть бути відкриті сотні віртуальних портів. Вони працюють паралельно, не заважаючи один одному, і кожен з них обслуговує свій інформаційний потік.
Як влаштована цифрова нумерація портів
Щоб у віртуальних віконцях не було плутанини, кожному мережевому порту присвоюють свій унікальний номер. Загалом ОС може створити рівно 65535 портів.
Чому саме стільки? Це технічне обмеження. Під номер порту в мережевих протоколах виділено 16 біт пам’яті, а 2¹⁶ дає саме таке максимальне число.
Усі ці тисячі портів не відкриваються хаотично. Світова організація IANA розділила їх на три чіткі групи:
- Системні або загальновідомі порти (номери від 0 до 1023)
Ці порти зарезервовані за фундаментальними інтернет-службами, без яких мережа не працювала б. Наприклад, коли ви вводите адресу сайту, ваш браузер автоматично спрямовує запит на порт 80 (для звичайного HTTP) або порт 443 (для захищеного HTTPS). Якщо вам потрібно завантажити файл на сервер, підключається порт 21 (FTP), а за безпечний віддалений доступ відповідає порт 22 (SSH). - Зареєстровані порти (номери від 1024 до 49151)
Їх можуть бронювати розробники програмного забезпечення або великі компанії для своїх продуктів. Наприклад, відома база даних Microsoft SQL Server займає порт 1433, а підключення до віддаленого робочого столу Windows (RDP) використовує порт 3389. - Динамічні або приватні порти (номери від 49152 до 65535)
Цей діапазон не закріплений ні за ким. Його використовує ваш власний комп’ютер тимчасово. Коли ви відкриваєте нову вкладку в браузері, система виділяє їй випадковий номер із цього списку (наприклад, 51240). Через цей порт ваш браузер веде діалог із сервером сайту, а щойно ви закриваєте вкладку — порт миттєво звільняється.
Яку роль відіграють сокети і що це таке
Порт ніколи не працює сам по собі — він є невіддільною частиною тандему з IP-адресою. Щоб дані потрапили за призначенням, мережі потрібні обидва параметри.
Поєднання IP-адреси та номера порту називають сокетом (socket). Записується це через двокрапку, наприклад: 192.168.1.10:443.
Повернімося до нашої метафори з вокзалом. Навіть якщо ви знаєте, що потрібне вам віконце інформаційного бюро — це «Віконце №5» (номер порту), ви не зможете туди потрапити, поки не дізнаєтеся адреси самого вокзалу (IP-адреси). І навпаки: приїхавши на вокзал, ви стоятимете посеред холу, якщо не знатимете номер каси. Тільки разом вони створюють точний маршрут для інформації.
Вразливість портів
Оскільки мережеві порти є легітимними точками входу для даних, вони також є вектором потенційних атак для кіберзлочинців. Зловмисники використовують спеціалізоване програмне забезпечення — сканери портів. Опитуючи пристрій, такий сканер методично надсилає запити на всі 65535 портів, аби визначити, які з них перебувають у відкритому стані та готові приймати мережевий трафік.
Якщо порт відкритий, а сервіс, який його використовує, містить критичні вразливості, зловмисник може експлуатувати їх для несанкціонованого проникнення в систему. Яскравим прикладом є порт 3389 (протокол RDP для віддаленого керування Windows) — він часто стає ціллю для атак методом перебору паролів у корпоративних мережах.
Для контролю цих ризиків використовують фаєрволи або брандмауери (міжмережеві екрани).
Головне завдання брандмауера — фільтрація вхідного та вихідного трафіку на основі чітко заданих правил безпеки. У професійно налаштованих інфраструктурах застосовується концепція мінімальних привілеїв: доступ до всіх портів блокується автоматично.
Відкритими залишають лише декілька, які критично необхідні для бізнес-процесів компанії. Наприклад, для звичайних робочих станцій це порти 80 і 443 та порти поштових служб. Решта тисяч портів залишаються закритими для зовнішнього світу, що мінімізує площу атаки на мережу.
Як перевірити активні порти на власному комп’ютері
Ви можете самостійно перевірити, які порти зараз відкриті на вашому пристрої та з якими серверами вони взаємодіють. Для цього в операційних системах передбачена вбудована консольна утиліта Netstat (Network Statistics).
Щоб скористатися нею, виконайте кілька простих кроків:
- Відкрийте термінал (на macOS/Linux) або командний рядок від імені адміністратора (на Windows).
- Введіть команду з прапорцем -n, який наказує утиліті відображати адреси та номери портів у числовому форматі, без спроби замінити їх на текстові назви сервісів:
netstat -n
- Натисніть Enter. Перед вами з’явиться таблиця активних мережевих з’єднань.
У цій таблиці для аналізу важливі дві основні колонки:
- Локальна адреса (Local Address): тут вказано внутрішню IP-адресу вашого комп’ютера та через двокрапку — номер порту (найчастіше з динамічного діапазону), який операційна система виділила для конкретної програми чи вкладки браузера.
- Зовнішня адреса (Foreign Address): це IP-адреса віддаленого сервера, до якого ви підключилися, та порт, який цей сервер використовує. Наприклад, якщо ви бачите наприкінці адреси :443, це означає, що ваша програма прямо зараз обмінюється даними із захищеним вебсайтом.
Висновки
Мережеві порти — це ефективний механізм, який дозволяє операційній системі розділяти хаотичний потік даних між десятками різних програм. Без портів та концепції сокетів одночасна робота браузера, месенджерів та мережевих служб була б технічно неможливою.
Розуміння принципів роботи портів, їхньої класифікації та взаємодії з брандмауерами — це базові знання, необхідні для подальшого розвитку в системному адмініструванні, DevOps, кібербезпеці чи вебпрограмуванні.

