Cara Membuat Penyapu Ping dengan Python

Python adalah bahasa pemrograman serbaguna yang dapat Anda gunakan untuk menulis berbagai jenis aplikasi berbasis GUI dan CLI. Jika Anda baru mengenal Python, tidak ada cara yang lebih baik untuk memperkuat pembelajaran Anda selain dengan mengerjakan proyek mini.

Contoh proyek Python yang bagus untuk ditulis adalah penyapu ping, utilitas kecil yang memeriksa host jaringan. Script ini akan mencakup konsep pemrograman dasar, termasuk pernyataan cetak, loop, dan fungsi.


Apa itu Penyapu Ping?

Ping sweeper adalah program yang menerima alamat jaringan sebagai input, melakukan ping ke host di jaringan, dan menampilkan daftar host yang mati dan yang masih hidup. Ini adalah cara mudah untuk memperkirakan jumlah host online di jaringan Anda dan mengetahui alamat IPv4 mereka.

Sebagai pemula, membuat penyapu ping adalah cara yang bagus untuk memoles dasar-dasar Python Anda. Proyek mini praktis ini juga akan menyegarkan pemahaman Anda tentang dasar-dasar jaringan.

Prasyarat untuk Penyapu Ping Anda

Sebelum memulai proses pengembangan, Anda harus memastikan bahwa Anda memiliki versi terbaru Python di sistem Anda.


Periksa apakah Anda dapat menjalankan Python dengan mengetikkan perintah ini di command prompt (untuk pengguna Windows) atau terminal (untuk sistem UNIX/Linux) dan tekan Memasuki:

python --version

Pada beberapa sistem, Anda mungkin perlu menjalankan:

python3 --version

Perintah ini akan mengembalikan versi Python yang diinstal pada sistem Anda. Jika mengembalikan kesalahan yang mirip dengan “python not found”, Anda harus menginstal Python3 dan kemudian melanjutkan dengan langkah-langkah berikut.

See also  Cara Mendapatkan Data Harga Saham Menggunakan Python

Mengkodekan Penyapu Ping

Ada beberapa pendekatan untuk membangun skrip ini. Beberapa akan meminta Anda untuk menginstal dan mengimpor beberapa modul. Di sini, Anda akan mengambil pendekatan minimalis yang tidak memiliki ketergantungan eksternal selain yang penting modul os.

Sebelum Anda mulai membuat kode, uraikan persyaratan untuk lebih memahami fungsionalitas apa yang perlu Anda terapkan. Ada tiga bagian dalam skrip ini:

  1. Terima alamat IP masukan.
  2. Ekstrak ID jaringan dari alamat IP.
  3. Ulangi semua host di jaringan dan cetak jika host mati atau hidup.

Sekarang setelah Anda memiliki gambaran yang jelas tentang alur kerja, mari kita mulai pemrograman.

Menerima dan Memproses Input

Bagian pertama dari skrip berurusan dengan menerima input dari pengguna dan mengurangi alamat IPv4 itu menjadi tiga oktet pertamanya. Ini memberi kami ID jaringan:

import os

IP = input("[+] Enter the Host IP Address:\t")
print("[+] Starting Ping Sweeper on " + IP)
dot = IP.rfind(".")
IP = IP[:dot + 1]

Itu memasukkan() fungsi menerima input pengguna. Anda dapat menggunakan string temukan() metode untuk mengekstrak indeks kemunculan terakhir dari titik desimal dan menyimpannya di dot variabel. Lanjutkan dengan mempertahankan semuanya mulai dari input hingga kemunculan paling kanan dari titik desimal.

Memindai Host dan Mencetak Status Host

Anda telah memperoleh alamat jaringan dari IP input. Anda sekarang dapat mengulangi semua nilai yang mungkin untuk oktet IPv4 akhir: 1–254. Di dalam for loop, simpan IP baru di tuan rumah variabel. IP ini adalah IP dasar diikuti dengan nilai variabel iterator. Kemudian, gunakan sistem.os() metode untuk menjalankan ping perintah melawan tuan rumah variabel.

for i in range(1, 255):
host = IP + str(i)
response = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

if response == :
print(host + " is up")
else:
print(host + " is down")

Uji tanggapan nilai terhadap 0 untuk menentukan status host dan memutuskan apakah itu online atau offline. Jika ping menemukan host yang tidak responsif, ping mengembalikan nilai bukan nol. Jika tidak, ia mengembalikan nol untuk menunjukkan host yang dapat dijangkaunya.

See also  Ikhtisar Penyimpanan Sisi Klien Dengan JavaScript

Anda dapat menambahkan c bendera dan w flag, dengan nilai 1, ke perintah ping asli. Ini membuatnya hanya mengirim satu paket dan menunggu satu detik untuk menerima respons. Versi ping Anda mungkin mendukung atau tidak mendukung opsi ini; lihat halaman manual ping untuk memeriksa.

Anda juga harus mengarahkan output ke /dev/null untuk menyembunyikan detail dari output ping. Perhatikan bahwa sintaks ping dan /dev/null hanya kompatibel dengan sistem Unix atau Linux. Anda dapat menjalankan skrip ini di Windows dengan mengganti c bendera dengan n dan >/dev/null dengan >nul.

Menjalankan Skrip Penyapu Ping

Anda dapat menjalankan skrip ini di terminal atau melalui command prompt. Jalankan terminal, pindah ke lokasi skrip dan jalankan dengan python3:

cd /directory/sweeper/
python3 sweeper.py

Masukkan alamat IPv4 atau subnet ke terminal, dan penyapu ping akan mulai bekerja dan mengembalikan output yang diharapkan.


Ide Proyek Menarik untuk Python

Pembelajaran langsung bisa dibilang cara terbaik dan tercepat untuk belajar bahasa pemrograman. Semakin banyak proyek yang Anda kerjakan, semakin Anda akan memahami konsep, membangun keterampilan penting, dan memahami cara memperbaiki masalah.

Jika Anda kehabisan ide proyek untuk dikerjakan, lihat daftar ide proyek terbaik untuk Python ini.