Python, farklı türde GUI ve CLI tabanlı uygulamalar yazmak için kullanabileceğiniz çok yönlü bir programlama dilidir. Python’da yeniyseniz, öğrenmenizi pekiştirmenin mini projeler üzerinde çalışmaktan daha iyi bir yolu yoktur.
Yazmak için harika bir Python projesi örneği, ağ ana bilgisayarlarını inceleyen küçük bir yardımcı program olan bir ping temizleyicidir. Bu komut dosyası, print deyimleri, döngüler ve işlevler dahil olmak üzere temel programlama kavramlarını kapsayacaktır.
Ping Süpürücü Nedir?
Ping süpürücü, bir ağ adresini girdi olarak kabul eden, ağdaki ana bilgisayarlara ping atan ve ölü ve canlı ana bilgisayarların listesini çıkaran bir programdır. Ağınızdaki çevrimiçi ana bilgisayarların sayısını tahmin etmenin ve IPv4 adreslerini bulmanın kolay bir yoludur.
Yeni başlayan biri olarak, bir ping süpürücü oluşturmak, Python temel bilgilerinizi tazelemenin harika bir yoludur. Bu uygulamalı mini proje aynı zamanda ağ temelleri hakkındaki anlayışınızı da tazeleyecektir .
Ping Sweeper’ınız için Ön Koşullar
Geliştirme sürecine başlamadan önce, sisteminizde Python’un en son sürümünün bulunduğundan emin olmalısınız.
Komut istemine (Windows kullanıcıları için) veya terminale (UNIX/Linux sistemleri için) bu komutu yazıp Enter’a basarak Python’u çalıştırıp çalıştıramadığınızı kontrol edin :
python –version
Bazı sistemlerde şunları çalıştırmanız gerekebilir:
python3 –version
Bu komut, sisteminizde yüklü Python sürümünü döndürmelidir. “python not found” benzeri bir hata verirse Python3’ü kurmalı ve aşağıdaki adımlarla ilerlemelisiniz.
Ping Sweeper’ı Kodlama
Bu komut dosyasını oluşturmak için birden çok yaklaşım vardır. Bazıları, birkaç modül kurmanızı ve içe aktarmanızı gerektirir. Burada, çok önemli olan os modülü dışında dış bağımlılıkları olmayan minimalist bir yaklaşım izleyeceksiniz .
Kodlamaya başlamadan önce, hangi işlevleri uygulamanız gerektiğini daha iyi anlamak için gereksinimleri listeleyin. Bu betiğin üç bölümü vardır:
Giriş IP adresini kabul edin.
Ağ kimliğini IP adresinden çıkarın.
Ağdaki tüm ana bilgisayarlar üzerinde yineleme yapın ve bir ana bilgisayarın ölü mü yoksa canlı mı olduğunu yazdırın.
Artık iş akışının net bir resmini gördüğünüze göre, programlamaya başlayalım.
Girdiyi Kabul Etme ve İşleme
Komut dosyasının ilk bölümü, kullanıcıdan girdi kabul etme ve bu IPv4 adresini ilk üç sekizlisine indirme ile ilgilidir. Bu bize ağ kimliğini verir:
import osn nIP = input(“[+] Enter the Host IP Address:t”)nprint(“[+] Starting Ping Sweeper on ” + IP)ndot = IP.rfind(“.”)nIP = IP[0:dot + 1]n
input() işlevi, kullanıcı girişini kabul eder . Ondalık noktanın son geçtiği dizinin dizinini çıkarmak ve bunu nokta değişkeninde saklamak için bir dizgenin rfind() yöntemini kullanabilirsiniz. Girişten bir ondalık noktanın en sağdaki oluşumuna kadar her şeyi koruyarak devam edin.
Ana Bilgisayarları Tarama ve Ana Bilgisayar Durumunu Yazdırma
Ağ adresini giriş IP’sinden türettiniz. Artık son IPv4 sekizlisi için tüm olası değerleri yineleyebilirsiniz: 1–254. For döngüsünün içinde, yeni IP’yi ana bilgisayar değişkeninde saklayın. Bu IP, temel IP’dir ve ardından yineleyici değişkeninin değeri gelir. Ardından, host değişkenine karşı ping komutunu çalıştırmak için os.system() yöntemini kullanın.
for i in range(1, 255):n host = IP + str(i)n response = os.system(“ping -c 1 -w 1 ” + host + ” >/dev/null”)n n if response == 0:n print(host + ” is up”)n else:n print(host + ” is down”)
Ana bilgisayarın durumunu belirlemek ve çevrimiçi mi yoksa çevrimdışı mı olduğuna karar vermek için yanıt değerini 0’a karşı test edin . Ping, yanıt vermeyen bir ana bilgisayarla karşılaşırsa, sıfır olmayan bir değer döndürür. Aksi takdirde, ulaşabileceği bir ana bilgisayarı belirtmek için sıfır döndürür.
Orijinal ping komutuna 1 değerleri ile c bayrağını ve w bayrağını ekleyebilirsiniz . Bu, yalnızca bir paket göndermesini ve yanıt almak için bir saniye beklemesini sağlar. Ping sürümünüz bu seçenekleri destekleyebilir veya desteklemeyebilir; kontrol etmek için ping man sayfasına bakın.
Ayrıca , ping çıktısının ayrıntısını gizlemek için çıktıyı /dev/null’a yönlendirmelisiniz. Ping ve /dev/null sözdiziminin yalnızca Unix veya Linux sistemleriyle uyumlu olduğunu unutmayın. c bayrağını n ile ve >/dev/null ile >nul ile değiştirerek bu betiği Windows’ta çalıştırabilirsiniz .
Ping Sweeper Komut Dosyasını Çalıştırma
Bu komut dosyasını terminalde veya bir komut istemi aracılığıyla çalıştırabilirsiniz. Bir terminali çalıştırın, betiğin konumuna gidin ve onu python3 ile çalıştırın:
Terminale bir IPv4 adresi veya bir alt ağ girin; ping temizleyici çalışmaya başlamalı ve beklenen çıktıyı geri vermelidir.
Python için İlginç Proje Fikirleri
Uygulamalı öğrenme, bir programlama dilini öğrenmenin tartışmasız en iyi ve en hızlı yoludur. Ne kadar çok proje üzerinde çalışırsanız, kavramları o kadar çok kavrayacak, temel becerileri geliştirecek ve sorunları nasıl çözeceğinizi anlayacaksınız.
Üzerinde çalışacak proje fikirleriniz kalmadıysa, Python için en iyi proje fikirlerinin derlendiği bu listeye göz atın.