Будь-яка програма зв'язується з іншого через інтернет або в межах локальної мережі. Використовуються для цього спеціальні порти, зазвичай протоколів 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. Ми розглянули два методу, оскільки кожен з них шукає інформацію за своїми алгоритмами. Вам же залишається тільки вибрати найбільш оптимальний варіант і шляхом моніторингу мережі дізнатися, які порти на поточний момент відкриті.