Python е многофункционален език за програмиране, който можете да използвате за писане на различни типове приложения, базирани на GUI и CLI. Ако сте нов в Python, няма по-добър начин да затвърдите обучението си от това да работите върху мини-проекти.

Страхотен примерен проект на Python за писане е ping sweeper, малка помощна програма, която инспектира мрежови хостове. Този скрипт ще покрие основни концепции за програмиране, включително оператори за печат, цикли и функции.

Какво е Ping Sweeper?

Ping sweeper е програма, която приема мрежов адрес като вход, пингва хостовете в мрежата и извежда списъка с мъртви и живи хостове. Това е лесен начин да оцените броя на онлайн хостовете във вашата мрежа и да разберете техните IPv4 адреси.

Като начинаещ, създаването на ping sweeper е чудесен начин да освежите основите на Python. Този практически мини-проект също ще освежи разбирането ви за основи на работата в мрежа.

Предпоставки за вашия Ping Sweeper

Преди да започнете процеса на разработка, трябва да се уверите, че имате най-новата версия на Python на вашата система.

instagram viewer

Проверете дали можете да стартирате Python, като въведете тази команда в командния ред (за потребители на Windows) или терминал (за UNIX/Linux системи) и натиснете Въведете:

python --версия

На някои системи може да се наложи да стартирате:

python3 --версия

Тази команда трябва да върне версията на Python, инсталирана на вашата система. Ако върне грешка, подобна на „python не е намерен“, трябва инсталирайте Python3 и след това продължете със следните стъпки.

Кодиране на Ping Sweeper

Има няколко подхода за изграждане на този скрипт. Някои биха изисквали да инсталирате и импортирате няколко модула. Тук ще приемете минималистичен подход, който няма външни зависимости, различни от решаващото os модул.

Преди да започнете да кодирате, разбийте изискванията, за да разберете по-добре каква функционалност ще трябва да приложите. Този скрипт има три части:

  1. Приемете въведения IP адрес.
  2. Извлечете мрежовия идентификатор от IP адреса.
  3. Обходете всички хостове в мрежата и отпечатайте дали хостът е мъртъв или жив.

Сега, след като имате ясна картина на работния процес, нека започнем с програмирането.

Приемане и обработка на входа

Първата част на скрипта се занимава с приемането на вход от потребителя и намаляването на този IPv4 адрес до първите му три октета. Това ни дава ID на мрежата:

импортиране операционна система

IP = input("[+] Въведете IP адреса на хоста:\t")
print("[+] Стартиране на Ping Sweeper на " + IP)
точка = IP.rfind(".")
IP = IP[0:точка + 1]

The вход() функцията приема въвеждане от потребителя. Можете да използвате низ rfind() метод за извличане на индекса на последното срещане на десетичната точка и съхраняването му в точка променлива. Проследете го, като запазите всичко от въвеждането до най-дясната поява на десетична точка.

Сканиране на хостовете и отпечатване на състоянието на хоста

Вие сте извели мрежовия адрес от входния IP. Вече можете да преминете през всички възможни стойности за крайния IPv4 октет: 1–254. Вътре в цикъла for запазете новия IP в домакин променлива. Този IP е основният IP, последван от стойността на променливата на итератора. След това използвайте os.system() метод за стартиране на пинг команда срещу домакин променлива.

за аз в диапазон (1, 255):
хост = IP + str (i)
отговор = os.system("ping -c 1 -w 1 " + хост + " >/dev/null")

ако отговор == 0:
печат (хост + " е нагоре")
друго:
печат (хост + " е надолу")

Тествайте отговор стойност срещу 0, за да определите състоянието на хоста и да решите дали е онлайн или офлайн. Ако ping срещне неотговарящ хост, той връща ненулева стойност. В противен случай връща нула, за да посочи хост, до който може да достигне.

Можете да добавите ° С знаме и w флаг със стойности 1 към оригиналната команда ping. Това го кара да изпрати само един пакет и да изчака една секунда, за да получи отговор. Вашата версия на ping може или не може да поддържа тези опции; консултирайте се с man страницата на ping, за да проверите.

Трябва също да пренасочите изхода към /dev/null за да скриете детайлите на ping изхода. Имайте предвид, че синтаксисът ping и /dev/null е съвместим само с Unix или Linux системи. Можете да стартирате този скрипт на Windows, като замените ° С знаме с н и >/dev/null с >нула.

Изпълнение на скрипта Ping Sweeper

Можете да стартирате този скрипт в терминала или чрез команден ред. Запалете терминал, преместете се в местоположението на скрипта и го изпълнете с python3:

cd /directory/sweeper/
python3 sweeper.py

Въведете IPv4 адрес или подмрежа в терминала и ping sweeper трябва да започне работа и да върне очаквания резултат.

Интересни идеи за проекти за Python

Практическото обучение е може би най-добрият и бърз начин за изучаване на език за програмиране. Колкото повече проекти работите, толкова повече ще схващате концепции, ще изграждате основни умения и ще разбирате как да коригирате проблеми.

Ако не ви достигат идеи за проекти, върху които да работите, вижте този подбран списък с най-добрите идеи за проекти за Python.