Python on monipuolinen ohjelmointikieli, jolla voit kirjoittaa erilaisia GUI- ja CLI-pohjaisia sovelluksia. Jos olet uusi Pythonissa, ei ole parempaa tapaa vahvistaa oppimistasi kuin työskentelemällä miniprojektien parissa.
Loistava esimerkki Python-projektista kirjoitettavaksi on ping-sweeper, pieni apuohjelma, joka tarkastaa verkkopalvelimet. Tämä skripti kattaa perusohjelmoinnin käsitteet, mukaan lukien tulostuskäskyt, silmukat ja funktiot.
Mikä on Ping Sweeper?
Ping-sweeper on ohjelma, joka hyväksyy verkko-osoitteen syötteeksi, lähettää ping-kutsuja verkon isännille ja tulostaa luettelon kuolleista ja elävistä isännistä. Se on helppo tapa arvioida verkossasi olevien online-isäntien lukumäärä ja selvittää niiden IPv4-osoitteet.
Aloittelijana ping-lakaisukoneen luominen on loistava tapa päivittää Python-perusasiat. Tämä käytännönläheinen miniprojekti myös virkistää ymmärrystäsi verkostoitumisen perusteet.
Ping Sweeperin edellytykset
Ennen kuin aloitat kehitysprosessin, varmista, että järjestelmässäsi on Pythonin uusin versio.
Tarkista, voitko suorittaa Pythonin kirjoittamalla tämän komennon komentokehotteeseen (Windows-käyttäjille) tai terminaaliin (UNIX/Linux-järjestelmät) ja painamalla Tulla sisään:
python -- versio
Joissakin järjestelmissä saatat joutua suorittamaan:
python3 -- versio
Tämän komennon pitäisi palauttaa järjestelmääsi asennettu Python-versio. Jos se palauttaa virheen, joka on samanlainen kuin "python ei löydy", sinun pitäisi asenna Python3 ja jatka sitten seuraavilla vaiheilla.
Ping Sweeperin koodaus
Tämän käsikirjoituksen rakentamiseen on useita tapoja. Jotkut vaativat useiden moduulien asentamista ja tuomista. Tässä omaksut minimalistisen lähestymistavan, jolla ei ole muita ulkoisia riippuvuuksia kuin ratkaiseva os-moduuli.
Ennen kuin aloitat koodauksen, erittele vaatimukset ymmärtääksesi paremmin, mitä toimintoja sinun on otettava käyttöön. Tässä käsikirjoituksessa on kolme osaa:
- Hyväksy syötetty IP-osoite.
- Pura verkkotunnus IP-osoitteesta.
- Toista kaikki verkon isännät ja tulosta, jos isäntä on kuollut tai elossa.
Nyt kun sinulla on selkeä kuva työnkulusta, aloitetaan ohjelmointi.
Syötteen hyväksyminen ja käsittely
Komentosarjan ensimmäinen osa käsittelee syötteiden hyväksymistä käyttäjältä ja IPv4-osoitteen pienentämistä sen kolmeen ensimmäiseen oktettiin. Tämä antaa meille verkkotunnuksen:
tuonti os
IP = input("[+] Anna isännän IP-osoite:\t")
print("[+] Ping Sweeperin käynnistäminen " + IP: ssä)
piste = IP.rfind(".")
IP = IP[0:piste + 1]
The input() toiminto hyväksyy käyttäjän syötteen. Voit käyttää merkkijonoa rfind() menetelmä poimia desimaalipilkun viimeisen esiintymän indeksi ja tallentaa sen piste muuttuja. Jatka sitä säilyttämällä kaikki syötteestä desimaalipilkun oikeanpuoleiseen esiintymiseen asti.
Isäntien ja tulostuspalvelimen tilan skannaus
Olet saanut verkko-osoitteen syöte-IP: stä. Voit nyt iteroida läpi kaikki mahdolliset lopullisen IPv4-oktetin arvot: 1–254. Tallenna uusi IP-osoite for-silmukan sisään isäntä muuttuja. Tämä IP on perus-IP, jota seuraa iteraattorimuuttujan arvo. Käytä sitten os.system() tapa suorittaa ping komento vastaan isäntä muuttuja.
varten i sisään range(1, 255):
isäntä = IP + str (i)
vastaus = os.system("ping -c 1 -w 1 " + isäntä + " >/dev/null")
jos vastaus == 0:
tulosta (isäntä + " On ylös")
muu:
tulosta (isäntä + " On alas")
Testaa vastaus arvo nollaa vastaan määrittääksesi isännän tilan ja onko se online- vai offline-tilassa. Jos ping kohtaa vastaamattoman isännän, se palauttaa nollasta poikkeavan arvon. Muussa tapauksessa se palauttaa nollan osoittaen isäntä, jonka se voi tavoittaa.
Voit lisätä c lippu ja w lippu, jonka arvot ovat 1, alkuperäiseen ping-komentoon. Tämä saa sen lähettämään vain yhden paketin ja odottamaan sekunnin saadakseen vastauksen. Ping-versiosi saattaa tukea näitä vaihtoehtoja tai ei tue niitä; tarkista ping-man sivulta.
Sinun tulee myös ohjata tulos osoitteeseen /dev/null piilottaaksesi ping-tulosteen yksityiskohdat. Huomaa, että ping- ja /dev/null-syntaksi on yhteensopiva vain Unix- tai Linux-järjestelmien kanssa. Voit suorittaa tämän skriptin Windowsissa korvaamalla c lippu kanssa n ja >/dev/null kanssa > nolla.
Ping Sweeper -komentosarjan suorittaminen
Voit suorittaa tämän skriptin päätteessä tai komentokehotteen kautta. Käynnistä pääte, siirry skriptin sijaintiin ja suorita se python3:lla:
CD /directory/sweeper/
python3 sweeper.py
Syötä IPv4-osoite tai aliverkko päätteeseen, ja ping-sweeperin pitäisi alkaa toimia ja palauttaa odotettu tulos.
Mielenkiintoisia projekti-ideoita Pythonille
Käytännön oppiminen on epäilemättä paras ja nopein tapa oppia ohjelmointikieli. Mitä useamman projektin parissa työskentelet, sitä paremmin ymmärrät käsitteitä, rakennat tärkeitä taitoja ja ymmärrät, kuinka ongelmia korjataan.
Jos sinulla on pulaa työstettävistä projekti-ideoista, katso tämä kuratoitu luettelo parhaista Pythonin projektiideoista.