Роль Python в администрировании компьютерных сетей

Закирова Д.А. Кудайбердиев М.Ж. Маткаликов А.М.

Журнал: Бюллетень науки и практики @bulletennauki

Рубрика: Технические науки

Статья в выпуске: 9 т.12, 2026 года.

Бесплатный доступ

Рассматриваются возможности применения языка программирования Python в задачах администрирования компьютерных сетей. Проведен анализ основных направлений использования Python. Показано, что применение Python позволяет повысить эффективность работы системных и сетевых администраторов за счет автоматизации рутинных операций и сокращения времени обработки информации. В работе представлена программа, которая предназначена для сканирования локальной сети и проверки доступности устройств по заданным IP-адресам. Приложение позволяет пользователю указать диапазон адресов, выполнить их проверку с помощью команды ping и отобразить результаты в таблице. Также предусмотрена возможность сохранения полученных данных в CSV-файл. Графический интерфейс обеспечивает удобный ввод параметров и просмотр результатов сканирования. Также добавлена программа для мониторинга сети, позволяющая просматривать данные об отправке и получении информации по сети.

Python \ сетевое администрирование \ автоматизация \ мониторинг сети \ компьютерные сети \ информационные технологии

Короткий адрес: https://sciup.org/14139012

IDS: 14139012   |   УДК: 004.7   |   DOI: 10.33619/2414-2948/130/16

The Role of Python in Computer Network Administration

This article examines the potential of the Python programming language for computer network administration tasks. It analyzes the main areas of Python use and demonstrates that Python can improve the efficiency of system and network administrators by automating routine operations and reducing information processing time. The article presents a program designed to scan a local network to check the availability of devices at specified IP addresses. The application allows users to specify a range of addresses, ping them, and display the results in a table. It also provides the option to save the resulting data to a CSV file. The graphical interface allows for easy parameter entry and viewing of scan results. A network monitoring program is also included for viewing data sent and received over the network.

Текст научной статьи Роль Python в администрировании компьютерных сетей

Бюллетень науки и практики / Bulletin of Science and Practice

Бюллетень науки и практики / Bulletin of Science and Practice

УДК 004.7                                       

Современные компьютерные сети являются неотъемлемой частью информационной инфраструктуры организаций, образовательных учреждений и предприятий. С ростом количества сетевых устройств увеличивается сложность их обслуживания и администрирования. Выполнение рутинных операций вручную требует значительных временных затрат и повышает вероятность возникновения ошибок. Одним из эффективных способов решения данной проблемы является автоматизация процессов администрирования. Среди современных средств автоматизации особое место занимает язык программирования Python, который, благодаря простому синтаксису, высокой производительности и большому количеству специализированных библиотек, получил широкое распространение в области сетевых технологий. Целью данной работы является исследование роли Python в администрировании компьютерных сетей и анализ его практического применения для решения задач мониторинга, управления и обеспечения безопасности сетевой инфраструктуры. В ряде статей анализируются особенности использования Python для построения сетевых моделей. Рассматриваются понятие и сущность сетевых моделей, а также ключевые свойства языка программирования Python. Построение и анализ сетевой модели комплекса работ позволяет оптимизировать затраты на их выполнение. Анализ сетевой модели начинается с расчета ее временных параметров. Предложен один из методов расчета временных параметров событий. Рассматривается построение сетевых графиков для наглядного отображения этапов работ, выявления узких мест и сокращения сроков реализации проектов. Рассматриваются основные области использования Python, а также анализируются преимущества и недостатки его применения в различных сферах. Исследование заключается в разработке автоматизированной системы учета и мониторинга активного сетевого оборудования для телекоммуникационной компании. Рассматривается разработка алгоритма настройки маршрутизаторов компьютерных сетей, в том числе добавление статического маршрута через IP-адрес конкретного провайдера. Данный алгоритм реализуется с помощью языка программирования Python [1-6].

Python позволяет автоматизировать процессы настройки маршрутизаторов, коммутаторов и серверов. Вместо ручного ввода команд администратор может использовать программные сценарии для выполнения типовых операций. Одной из наиболее востребованных задач является мониторинг состояния сети. Python предоставляет средства для получения информации о сетевых интерфейсах, объеме передаваемых данных и количестве активных соединений. Python может использоваться для анализа проходящего сетевого трафика. С помощью специализированных библиотек можно определять количество пакетов, используемые протоколы и наиболее активные узлы сети. Полученная информация используется для оптимизации работы сети и повышения уровня безопасности. Сетевые администраторы регулярно выполняют сбор данных о работе оборудования и сетевых сервисов. Python позволяет автоматически сохранять статистику в базы данных, электронные таблицы или текстовые файлы. Это обеспечивает ведение журналов событий и формирование отчетов. Python широко применяется для разработки средств контроля безопасности компьютерных сетей. С его помощью можно создавать системы обнаружения вторжений, анализаторы журналов событий и инструменты контроля доступа. Автоматический анализ сетевой активности позволяет оперативно выявлять потенциальные угрозы и принимать меры по их устранению. Для исследования возможностей Python была разработана программа мониторинга сетевой активности персонального компьютера. Она собирает статистику об объеме переданных и полученных данных, рассчитывает скорость передачи информации и сохраняет результаты в файл для последующего анализа.

Полученные результаты показали возможность использования Python в качестве эффективного инструмента сетевого администрирования даже на небольших объектах, таких как учебные кабинеты. Во-первых, необходимо установить Python и PyCharm. PyCharm — это среда разработки с отладчиком. Во-вторых, нужно установить необходимые библиотеки для создания программы. Для решения данной задачи часто используются библиотеки: tkinter, subprocess, platform, threading, csv, time, datetime, psutil. Чтобы использовать эти библиотеки, их нужно установить через терминал, введя команду pip install psutil. Ниже показан примерный код программы:

import tkinter as tk from tkinter import ttk import subprocess import platform import threading import csv

  • #    проверка одного IP адреса

def ping(ip):

  • #    Сканирование сети

def scan_network():

for i in range(start, end + 1):

ip = f"{base}.{i}"

status = ping(ip)

if status:

else:

  • #    Запуск

def start_scan():

  • #    Сохранение данных в CSV файле

def save_file():

writer.writerow(["IP-адрес", "Статус"])

for row in tree.get_children():

  • #    Окно программы

root.geometry("600x400")

  • #    Ввод IP диапазона

  • #    Кнопки

  • #    Таблица

tree = ttk.Treeview(root, columns=("IP", "Status"), show="headings")

tree.heading("IP", text="IP-адрес")

tree.heading("Status", text="Статус")

После компиляции кода программы, в окне появится следующее окно.

$ Сканирование локальной сети                                         —     □

Сеть: 1192.168.1         От: fl До: |20

Сканировать сеть | Сохранить отчет |

IP-адрес                                               Статус

Рисунок 1. Окно сканирование локальной сети

Выбрав кнопку «Сканировать сеть», у нас идет сканирование сети в диапазоне от 1 до 20. На Рисунке 2 показаны данные о сети. Коммутатор отключен, вот поэтому на рисунке показана «нет связи».

Т. 12. №9 2026

у Сканирование локальной сети                                        —    □

Сеть: 192.168.1         От: 1 Дс: 20

Сканировать сеть

Сохранить отчет

IP-адрес

Статус

192.168.1.1

НЕТ СВЯЗИ

192.168.12

НЕТ СВЯЗИ

192.168.1.3

НЕТ СВЯЗИ

192.168.1.4

НЕТ СВЯЗИ

192.168.1.5

НЕТ СВЯЗИ

192.168.1.6

НЕТ СВЯЗИ

192.168.1.7

НЕТ СВЯЗИ

192.168.1.8

НЕТ СВЯЗИ

192.168.1.9

НЕТ СВЯЗИ

Рисунок 2. Информация о сканирование сети

В следующем рисунке можно увидеть измененный сеть в диапазоне от 1 до 30.

192.168.12 – эти цифры означает адрес подсети. На рисунке 3 показана, что адрес подсети изменен и связь есть. Коммутатор включен, некоторые IP адреса доступны, потому что компьютеры были включены. Заново сканируем сеть и у нас появится следующее окно.

Сканирование локальной сети                                          —     □

Сеты 192.168.1^ От: 1 Дс: 30

Сканировать сеть I

Сохранить отчет

192.168.12.1

IP-адрес

ДОСТУПЕН

192.168.12.2

ДОСТУПЕН

192.168.12.3

НЕТ СВЯЗИ

192.168.12.4

НЕТ СВЯЗИ

192.168.12.5

НЕТ СВЯЗИ

192.168.12.6

НЕТ СВЯЗИ

192.168.12.7

НЕТ СВЯЗИ

192.168.12.8

НЕТ СВЯЗИ

192.168.12.9

ДОСТУПЕН

192.168.12.10

ДОСТУПЕН

192.168.12.11

ДОСТУПЕН

192.168.12.12

НЕТ СВЯЗИ

192.168.12.13

НЕТ СВЯЗИ

Рисунок 3. Повторное сканирование сети

А также для мониторинга сети, можно использовать следующий код программы: import psutil import csv import time from datetime import datetime

  • #    Файл для сохранения статистики

Бюллетень науки и практики / Bulletin of Science and Practice Т. 12. №9 2026

"""Получение статистики сети"""

net = psutil.net_io_counters()

return net.bytes_sent, net.bytes_recv

  • #    Создание CSV-файла и запись заголовков

with open(LOG_FILE, "w", newline="", encoding="utf-8") as file:

writer.writerow([

"Дата и время",

"Отправлено (МБ)",

"Получено (МБ)",

"Скорость отправки (КБ/с)",

"Скорость получения (КБ/с)"

])

print("Мониторинг сети запущен...")

print("Для остановки нажмите Ctrl + C")

  • #    Начальные значения

old_sent, old_recv = get_network_usage()

try:

while True:

  • #    Интервал измерения

  • #    Новые значения

new_sent, new_recv = get_network_usage()

  • #    Расчёт скорости

    sent_speed = (new_sent - old_sent) / 1024 / 5

recv_speed = (new_recv - old_recv) / 1024 / 5

  • #    Общий объём трафика

    sent_mb = round(new_sent / 1024 / 1024, 2)

recv_mb = round(new_recv / 1024 / 1024, 2)

print("\n----------------------------")

print("Время:", current_time)

print("Отправлено:", sent_mb, "МБ")

print("Получено:", recv_mb, "МБ")

print("Скорость отправки:", round(sent_speed, 2), "КБ/с")

print("Скорость получения:", round(recv_speed, 2), "КБ/с")

  • #    Сохранение данных

with open(LOG_FILE, "a", newline="", encoding="utf-8") as file:

writer.writerow([ current_time, sent_mb, recv_mb, round(sent_speed, 2), round(recv_speed, 2)

])

  • #    Обновление значений

old_sent = new_sent old_recv = new_recv except KeyboardInterrupt:

print("\nМониторинг завершён.")

После компиляции кода можем увидеть результат программы.

Для остановки нажмите Ctrl + С

Время: 2О26-06-18 13:19:29

Отправлено: 10.26 МБ