You are on page 1of 9

Лабораторна робота 1. Розробка програми моніторингу мережі.

Мета лабораторної роботи: Метою цієї лабораторної роботи є навчання


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

Крок 1. Встановлення бібліотек Python та їх налоштування.

Рисунок 1. Встановлення та оновлення pip

Рисунок 2. Встановлення tkinter

Рисунок 3. Встановлення psutil


Під час виконання цього пункту завдання, особисто в мене виникли
проблеми із налаштуванням бібліотек, тому що я вже мав встановлений Python і
через це мав проблеми із сумісністю версій, проте після оновлення програм та
змінення конфігурації налаштувань PyCharm, а саме додавання ще одного
шляху в setting.json set PATH=C:\Python;%PATH%, ця проблема була вирішена.

Крок 2. Розробка програми моніторингу мережі

Створення структури проєкту та його основних файлів

Рисунок 4 Структура проєкту

Створення шаблону графічного інтерфейсу користувача network_monitor


за допомогою бібліотеки tkinte:

Рисунок 5. Шаблон інтерфейсу створений за допомогою tkinter


Створення шаблону системи для збору даних моніторингу мережі
data_colector використовуючи бібліотеку psutil:

Рисунок 6. Кодова реалізація шаблону для збору даних моніторингу мережі

Рисунок 7. Кодова реалізація шаблону для збору даних моніторингу мережі

У цьому коді клас DataCollector відповідає за збір та відображення


інформації. Клас містить методи для отримання інформації про систему та
мережу, а також метод для моніторингу мережевого трафіку в окремому потоці.
Графічний інтерфейс створений за допомогою tkinter, і він містить кнопку для
початку моніторингу.

Рисунок 8.Візуальний шаблон інтерфейсу для збору даних моніторингу мережі

Крок 3. Об’єднання створеного інтерфейсу та функціоналу в загальний


застосунок

Рисунок 9. Кодове представлення оновленої та об’єднаної програми


Рисунок 10. Кодове представлення оновленої та об’єднаної програми

Рисунок 11. Кодове представлення оновленої та об’єднаної програми

Рисунок 12. Кодове представлення оновленої та об’єднаної програми


Для того щоб оновлювати інформацію на інтерфейсі користувача
періодично, можна використовувати метод after() з бібліотеки tkinter. Приклад
оновленого коду що змінюється в realtime:

Рисунок 13. Кодове представлення оновленої та об’єднаної програми що


автоматично оновлюється

Рисунок 14. Кодове представлення оновленої та об’єднаної програми що


автоматично оновлюється
Рисунок 15. Кодове представлення оновленої та об’єднаної програми що
автоматично оновлюється

Рисунок 16. Кодове представлення оновленої та об’єднаної програми що


автоматично оновлюється
У цьому коді метод update_info викликається сам себе кожні 5 секунд
(self.root.after(5000, self.update_info)) для автоматичного оновлення інформації.
Також, для запуску оновлення інформації відразу після натискання кнопки
"Почати моніторинг", метод update_info викликається в start_monitoring.

Таким чином, інформація на інтерфейсі користувача буде оновлюватися


автоматично кожні 5 секунд.

Висновок: під час роботи було вивчено, як використовувати бібліотеку


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

Питання для дослідження

1. Як створити програму моніторингу мережі?

Для створення такої прагоми потрібно мати встановленний Python та


PyCharm(для більш зручної роботи) або будь-яке IDE на вибір, а також
навчатися працювати із бібліотеками: psutil яка дозволяє отримувати
інформацію про систему, а також tkinter, що в свою чергу дозволяє
налаштовувати періодичне оновлення графічного інтерфейсу.

2. Як використовувати мову програмування Python для збору мережевих


даних?

Мова програмування Python може використовуватися для збору мережевих


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

3. Як розробити графічний інтерфейс користувача для відображення стану


мережі?
Слід використовувати бібліотеку tkinter, за допомогою якої створюється
загальне вікно представлення, в ньому додаються головні елементи
управління, а також створити підв’язку відображення обробленої
інформації про дані мережі.

4. Як аналізувати та відображати дані про мережевий трафік?

Для аналізу та відображення даних про мережевий трафік


використовуються різні підходи та бібліотеки. Одна з таких бібліотек це
matplotlib, що застосовується для візуалізації графіків.

You might also like