Python — это универсальный язык программирования, который можно использовать для написания различных типов приложений с графическим интерфейсом пользователя и командной строкой. Если вы новичок в Python, нет лучшего способа закрепить свои знания, чем работать над мини-проектами.
Отличным примером проекта Python для написания является программа проверки связи, небольшая утилита, которая проверяет сетевые хосты. Этот сценарий охватывает основные концепции программирования, включая операторы печати, циклы и функции.
Что такое Ping Sweeper?
Программа проверки связи — это программа, которая принимает сетевой адрес в качестве входных данных, пингует хосты в сети и выводит список мертвых и живых хостов. Это простой способ оценить количество онлайн-хостов в вашей сети и узнать их IPv4-адреса.
Если вы новичок, создание ping-чистильщика — отличный способ освежить в памяти основы Python. Этот практический мини-проект также освежит ваше понимание основы сети.
Предварительные требования для вашего Ping Sweeper
Перед началом процесса разработки вы должны убедиться, что в вашей системе установлена последняя версия Python.
Проверьте, можете ли вы запустить Python, введя эту команду в командной строке (для пользователей Windows) или в терминале (для систем UNIX/Linux) и нажав Войти:
питон --версия
В некоторых системах вам может потребоваться запустить:
python3 --версия
Эта команда должна вернуть версию Python, установленную в вашей системе. Если он возвращает ошибку, похожую на «python not found», вам следует установить Python3 а затем выполните следующие шаги.
Кодирование Ping Sweeper
Существует несколько подходов к созданию этого скрипта. Некоторые потребуют от вас установки и импорта нескольких модулей. Здесь вы примете минималистский подход, который не имеет внешних зависимостей, кроме критических ОС модуль.
Прежде чем приступить к написанию кода, разбейте требования, чтобы лучше понять, какие функции вам необходимо реализовать. Этот сценарий состоит из трех частей:
- Подтвердите введенный IP-адрес.
- Извлеките идентификатор сети из IP-адреса.
- Перебрать все хосты в сети и вывести, если хост мертв или жив.
Теперь, когда у вас есть четкое представление о рабочем процессе, давайте приступим к программированию.
Принятие и обработка ввода
Первая часть сценария связана с приемом ввода от пользователя и сокращением этого IPv4-адреса до первых трех октетов. Это дает нам идентификатор сети:
импорт Операционные системы
IP = input("[+] Введите IP-адрес хоста:\t")
print("[+] Запуск Ping Sweeper на " + IP)
точка = IP.rfind(".")
ИП = ИП[0: точка + 1]
вход() функция принимает пользовательский ввод. Вы можете использовать строку найти() метод для извлечения индекса последнего вхождения десятичной точки и сохранения его в точка переменная. Следуйте за ним, сохраняя все от ввода до самого правого вхождения десятичной точки.
Сканирование хостов и печать статуса хоста
Вы получили сетевой адрес из входного IP-адреса. Теперь вы можете перебрать все возможные значения для последнего октета IPv4: 1–254. Внутри цикла for сохраните новый IP-адрес в хозяин переменная. Этот IP-адрес является базовым IP-адресом, за которым следует значение переменной итератора. Затем используйте ОС.система() метод для запуска пинг команда против хозяин переменная.
за я в диапазон(1, 255):
хост = IP + ул (i)
ответ = os.system("ping -c 1 -w 1 " + хост + " >/dev/null")
если ответ == 0:
печать (хост + " является вверх")
еще:
печать (хост + " является вниз")
Протестируйте отклик значение против 0, чтобы определить статус хоста и решить, находится ли он в сети или в автономном режиме. Если ping встречает не отвечающий хост, он возвращает ненулевое значение. В противном случае он возвращает ноль, чтобы указать хост, с которым он может связаться.
Вы можете добавить с флаг и ж флаг со значениями 1 для исходной команды ping. Это заставляет его отправлять только один пакет и ждать одну секунду, чтобы получить ответ. Ваша версия ping может поддерживать или не поддерживать эти параметры; обратитесь к справочной странице ping, чтобы проверить.
Вы также должны перенаправить вывод на /dev/null чтобы скрыть детали вывода ping. Обратите внимание, что синтаксис ping и /dev/null совместим только с системами Unix или Linux. Вы можете запустить этот скрипт в Windows, заменив с флаг с н а также >/dev/ноль с >нуль.
Запуск скрипта Ping Sweeper
Вы можете запустить этот скрипт в терминале или через командную строку. Запустите терминал, перейдите к местоположению скрипта и выполните его с помощью python3:
CD /directory/sweeper/
python3 подметальная машина.py
Введите адрес IPv4 или подсеть в терминал, и программа проверки связи должна начать работу и вернуть ожидаемый результат.
Интересные идеи проектов для Python
Практическое обучение, возможно, является лучшим и самым быстрым способом изучения языка программирования. Чем больше проектов вы будете выполнять, тем больше вы будете понимать концепции, приобретать необходимые навыки и понимать, как решать проблемы.
Если у вас закончились идеи проектов для работы, ознакомьтесь с этим тщательно отобранным списком лучших идей проектов для Python.