A Python egy sokoldalú programozási nyelv, amellyel különböző típusú GUI- és CLI-alapú alkalmazások írhatók. Ha még nem ismeri a Pythont, nincs jobb módszer a tanulás megerősítésére, mint a miniprojekteken való munka.

Egy nagyszerű példa Python-projekt írásához egy ping-seprő, egy kis segédprogram, amely ellenőrzi a hálózati gazdagépeket. Ez a szkript lefedi az alapvető programozási fogalmakat, beleértve a nyomtatási utasításokat, ciklusokat és függvényeket.

Mi az a Ping Sweeper?

A ping sweeper egy olyan program, amely hálózati címet fogad be bemenetként, megpingeli a hálózatban lévő gazdagépeket, és kiadja a halott és élő gazdagépek listáját. Ez egy egyszerű módja annak, hogy megbecsülje a hálózatában lévő online gazdagépek számát, és megtudja IPv4-címüket.

Kezdőként egy ping-seprő létrehozása nagyszerű módja annak, hogy felfrissítse Python alapjait. Ez a gyakorlati mini-projekt is felfrissíti a tudását hálózatépítés alapjai.

A Ping Sweeper előfeltételei

A fejlesztési folyamat megkezdése előtt győződjön meg arról, hogy a Python legújabb verziója van a rendszeren.

instagram viewer

Ellenőrizze, hogy tudja-e futtatni a Pythont. Ehhez írja be ezt a parancsot a parancssorba (Windows felhasználóknak) vagy a terminálba (UNIX/Linux rendszereken), és Belép:

python --verzió

Egyes rendszereken a következőket kell futtatnia:

python3 --verzió

Ennek a parancsnak a rendszerre telepített Python verzióját kell visszaadnia. Ha a „python not found”-hoz hasonló hibát ad vissza, ezt meg kell tennie telepítse a Python3-at majd folytassa a következő lépésekkel.

A Ping Sweeper kódolása

Ennek a szkriptnek több megközelítése is létezik. Egyes esetekben több modul telepítése és importálása szükséges. Itt egy minimalista megközelítést alkalmaz, amelynek nincs külső függősége a döntően kívül os modul.

A kódolás megkezdése előtt bontsa le a követelményeket, hogy jobban megértse, milyen funkciókat kell megvalósítania. Ennek a szkriptnek három része van:

  1. Fogadja el a beírt IP-címet.
  2. Vegye ki a hálózati azonosítót az IP-címből.
  3. Iteráljon a hálózat összes gazdagépén, és nyomtassa ki, ha egy gazdagép meghalt vagy él.

Most, hogy világos képe van a munkafolyamatról, kezdjük el a programozást.

A bevitel elfogadása és feldolgozása

A szkript első része a felhasználó bevitelének elfogadásával és az IPv4-címnek az első három oktettre való csökkentésével foglalkozik. Ez megadja nekünk a hálózati azonosítót:

import os

IP = input("[+] Adja meg a gazdagép IP-címét:\t")
print("[+] Ping Sweeper indítása " + IP-n)
pont = IP.rfind(".")
IP = IP[0:pont + 1]

Az bemenet() függvény elfogadja a felhasználói bevitelt. Használhat karakterláncot rfind() módszer a tizedesvessző utolsó előfordulásának indexének kinyerésére és tárolására a pont változó. Kövesse ezt úgy, hogy mindent megtart a bemenettől a tizedesvessző jobb szélső előfordulásáig.

A gazdagépek és a nyomtatási gazdagép állapotának szkennelése

A hálózati címet a bemeneti IP-címből származtatta. Most ismételheti a végső IPv4-oktett összes lehetséges értékét: 1–254. A for cikluson belül tárolja az új IP-t a házigazda változó. Ez az IP az alap IP, amelyet az iterátor változó értéke követ. Ezután használja a os.system() futtatásának módja ping parancsot a házigazda változó.

számára én ban ben hatótávolság(1, 255):
host = IP + str (i)
válasz = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

ha válasz == 0:
nyomtatás (host + " van fel")
más:
nyomtatás (host + " van le")

Tesztelje a válasz értéket 0-val szemben, hogy meghatározza a gazdagép állapotát, és eldöntse, hogy online vagy offline-e. Ha a ping nem válaszol, akkor nullától eltérő értéket ad vissza. Ellenkező esetben nullát ad vissza, jelezve azt a gazdagépet, amelyet elérhet.

Hozzáadhatja a c zászló és w flag, 1 értékkel, az eredeti ping parancshoz. Ez azt jelenti, hogy csak egy csomagot küld el, és vár egy másodpercet, hogy megkapja a választ. Előfordulhat, hogy az Ön ping verziója támogatja ezeket a beállításokat, vagy nem; ellenőrizze a ping man oldalát.

A kimenetet is át kell irányítania ide /dev/null hogy elrejtse a ping kimenet részleteit. Vegye figyelembe, hogy a ping és a /dev/null szintaxis csak Unix vagy Linux rendszerekkel kompatibilis. Ezt a szkriptet a Windows rendszeren futtathatja, ha lecseréli a c zászlóval n és >/dev/null val vel > null.

A Ping Sweeper Script futtatása

Ezt a szkriptet a terminálban vagy parancssoron keresztül futtathatja. Indítson el egy terminált, lépjen a szkript helyére, és futtassa a python3 segítségével:

CD /directory/sweeper/
python3 sweeper.py

Adjon meg egy IPv4-címet vagy egy alhálózatot a terminálba, és a ping-seprőnek munkába kell állnia, és vissza kell adnia a várt kimenetet.

Érdekes projektötletek Pythonhoz

A gyakorlati tanulás vitathatatlanul a legjobb és leggyorsabb módja a programozási nyelv tanulásának. Minél több projekten dolgozik, annál jobban megérti a koncepciókat, fejleszti az alapvető készségeket, és megérti, hogyan lehet megoldani a problémákat.

Ha kifogyott azokból a projektötletekből, amelyeken dolgozhat, tekintse meg a Python számára készült legjobb projektötletek összeállított listáját.