Будь-яка програма зв'язується з іншого через інтернет або в межах локальної мережі. Використовуються для цього спеціальні порти, зазвичай протоколів TCP і UDP. Дізнатися, які з усіх доступних портів на даний момент використовуються, тобто вважаються відкритими, можна за допомогою підручних засобів в операційній системі. Давайте детально розглянемо цю процедуру на прикладі дистрибутива Ubuntu.
Для виконання поставленого завдання ми пропонуємо використовувати стандартну консоль і додаткові утиліти, що дозволяють проводити моніторинг мережі. Розібратися в командах зможуть навіть недосвідчені користувачі, оскільки ми дамо пояснення кожної. Пропонуємо ознайомитися з двома різними утилітами далі.
Утиліта під назвою lsof проводить моніторинг всіх системних з'єднань і виводить на екран детальну інформацію про кожного з них. Потрібно лише привласнити правильний аргумент, щоб отримати ваші дані.

sudo lsof -i , а потім клацніть на Enter. 


sudo lsof -i | grep 20814 sudo lsof -i | grep 20814 , де 20814 - номер необхідного порту. 

Відкрите програмне забезпечення Nmap теж здатне виконувати функцію сканування мереж на предмет активних сполук, проте реалізовано воно трохи інакше. У Nmap є і версія з графічним інтерфейсом, але сьогодні вона нам не знадобиться, оскільки використовувати її не зовсім доцільно. Робота ж в утиліті виглядає так:
sudo apt-get install nmap . 


nmap localhost . 

Наведена вище інструкція підходить для отримання внутрішніх портів, якщо ж ви зацікавилися зовнішніми, слід провести трохи інші дії:
wget -O - -q icanhazip.com , а потім натисніть на Enter. 

nmap і ваш IP. 

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