Python untuk Keamanan Jaringan Wi-Fi

Python untuk Keamanan Jaringan Wi-Fi

Python dan Wi-Fi

Python untuk Meningkatkan Keamanan Jaringan Wi-Fi

🎯 Tujuan:

  • Mendeteksi semua perangkat yang terhubung ke jaringan Wi-Fi secara real-time
  • Membandingkan hasil deteksi dengan daftar whitelist (perangkat yang diizinkan)
  • Mengirim peringatan atau menandai perangkat asing yang tidak dikenal

Python tidak dapat langsung mengatur router atau sandi Wi-Fi karena hal itu dikendalikan oleh perangkat keras (router) dan sistem operasi. Namun, Python tetap berguna untuk meningkatkan keamanan (mendeteksi dan memblokir perangkat asing/ peretas/ pengguna ilegal di jaringan Wi-Fi lokal rumah/kantor) melalui beberapa pendekatan berikut:

✅ 1. Otomatisasi & Konfigurasi Router via API / SSH (jika router mendukung)

OpenWRT adalah sistem operasi berbasis Linux yang dibuat khusus untuk router. Dengan OpenWRT, kamu bisa mengatur firewall, VPN, captive portal, dan blokir perangkat melalui antarmuka web atau terminal. Python bisa digunakan di perangkat berbasis OpenWRT untuk membuat IDS ringan, auto-block MAC address, atau integrasi captive portal.

MikroTik adalah produsen router dan sistem operasi RouterOS yang banyak digunakan di jaringan profesional. Router MikroTik menyediakan API dan CLI (command line interface) yang bisa diakses menggunakan Python. Misalnya, Python dapat digunakan untuk memblokir IP, blacklist MAC address, atau mengganti password Wi-Fi secara otomatis lewat MikroTik API.

Linux adalah sistem operasi open-source yang fleksibel dan kuat untuk membangun sistem keamanan jaringan. Python berjalan optimal di Linux dan bisa digunakan untuk sniffing (Scapy), firewall otomatis (iptables), logging, hingga analisis lalu lintas jaringan. Dengan akses root, kamu dapat memanfaatkan Python sepenuhnya untuk mendeteksi dan memblokir ancaman jaringan.

Jika router mendukung API atau akses CLI (contoh: MikroTik, OpenWRT, atau router enterprise), Python bisa digunakan untuk:

  • Mengubah SSID atau password
  • Memblokir perangkat tertentu
  • Mengatur firewall atau routing
  • dll

Contoh Library Python:

  • paramiko: untuk SSH ke router
  • librouteros: untuk akses MikroTik API

Contoh Kode Python:

from librouteros import connect

api = connect(username='admin', password='yourpass', host='192.168.88.1')
wifi_settings = api.path('interface', 'wireless')
wifi_settings.set({'ssid': 'NewSSID', 'password': 'NewSecurePass'}, id='wlan1')

✅ 2. Portal Login Wi-Fi (Captive Portal)

Untuk jaringan publik seperti di kafe atau kantor, Python (melalui Flask atau Django) bisa digunakan untuk:

  • Membuat halaman login Wi-Fi
  • Menyimpan kredensial pengguna (user & password) di backend
  • Validasi & kontrol akses sebelum pengguna bisa browsing

Alur Umum:

  1. Pengguna sambung ke Wi-Fi terbuka
  2. Dialihkan ke halaman login (Flask/Django)
  3. Setelah login, backend memberikan akses (misalnya dengan iptables/redirect)

✅ 3. Monitoring & Keamanan Jaringan (Sniffing & Blokir) Wi-Fi dari Perangkat Asing

Python dapat digunakan untuk memindai perangkat yang terhubung ke jaringan dan membandingkannya dengan daftar perangkat yang diizinkan (whitelist). Dengan akses penuh ke sistem, Python bisa membantu mendeteksi aktivitas mencurigakan dan merespons secara otomatis. Selain itu, Python juga sangat berguna untuk memantau dan mengamankan jaringan melalui berbagai cara, antara lain:

  • Mendeteksi perangkat asing atau mencurigakan
  • Memblokir alamat MAC tertentu
  • Mengirim notifikasi saat terjadi aktivitas mencurigakan

Contoh Tools Python (Alat Python):

  • scapy adalah library Python untuk manipulasi (sniffing) paket jaringan
  • Nmap (CLI – Command Line Interface, versi murni): Merupakan alat standar dan sangat kuat untuk melakukan pemindaian jaringan (IP/MAC). Nmap dapat dijalankan langsung dari terminal untuk mendeteksi perangkat aktif dengan perintah:
    nmap -sn 192.168.1.0/24
    Untuk menampilkan alamat MAC, jalankan dengan hak akses administrator (sudo):
    sudo nmap -sn 192.168.1.0/24
    Catatan: Alamat MAC hanya akan ditampilkan jika pemindaian dilakukan dengan sudo dan berada dalam jaringan lokal.
  • netfilterqueue: untuk memodifikasi atau memblokir traffic
  • Perbedaan Nmap dengan python-nmap

Contoh Deteksi Perangkat Mencurigakan:

import os

# Scan IP aktif di jaringan lokal
os.system("nmap -sn 192.168.1.0/24 > hasil_scan.txt")

# Selanjutnya: baca dan analisis isi hasil_scan.txt untuk cek perangkat tak dikenal

✅ 4. Membuat Sistem Otentikasi Tambahan

Python juga sangat cocok untuk membuat sistem otentikasi yang lebih aman dan modern, seperti:

  • 2FA (Two-Factor Authentication)
  • Login berbasis token atau QR Code
  • Integrasi dengan database user (MySQL, PostgreSQL, Firebase, dll)

Otentikasi tambahan ini dapat digunakan untuk portal login Wi-Fi atau sistem manajemen pengguna jaringan.

✅ 5. Menggunakan Router API (MikroTik / OpenWRT)

Router modern seperti MikroTik atau OpenWRT sering menyediakan API yang memungkinkan Python untuk:

  • Memblokir IP atau MAC address secara otomatis
  • Memasukkan perangkat ke dalam daftar blacklist
  • Mengatur firewall secara langsung

Contoh Script Python untuk MikroTik (librouteros):

from librouteros import connect

# Hubungkan ke router MikroTik
api = connect(username='admin', password='yourpass', host='192.168.88.1')

# Tambahkan alamat IP ke daftar blacklist selama 1 jam
api.path('ip', 'firewall', 'address-list').add({
    'address': '192.168.88.10',
    'list': 'blacklist',
    'timeout': '1h'
})

Langkah ini membuat Python menjadi alat otomatisasi yang kuat untuk keamanan jaringan tingkat lanjut.

✅ 6. Membuat IDS Ringan (Intrusion Detection System)

Python bisa digunakan untuk membangun IDS (Intrusion Detection System) sederhana yang mampu:

  • Mendeteksi aktivitas scanning port (misalnya dengan nmap)
  • Menangkap dan menganalisis paket mencurigakan dengan scapy
  • Memantau lonjakan trafik dari satu IP atau MAC address

Contoh Python: Deteksi Scanning Port dengan Scapy

from scapy.all import sniff

def detect_scan(pkt):
    if pkt.haslayer("TCP") and pkt["TCP"].flags == "S":
        print(f"[!] Deteksi scan dari {pkt['IP'].src}")

sniff(filter="tcp", prn=detect_scan)

Kode ini memantau koneksi masuk dan mendeteksi paket dengan flag SYN—ciri khas scanning menggunakan Nmap atau alat lain.

🛡️ Strategi Python untuk Memblokir Peretas Wi-Fi

Langkah Fungsi Python Perlu Akses Root / Router?
Scan IP & MAC nmap, arp, scapy Tidak wajib
Deteksi MAC asing Bandingkan dengan whitelist Tidak wajib
Blokir MAC iptables, API router Ya
Alert & Logging Kirim notifikasi, simpan log Tidak wajib
Integrasi Router API MikroTik / OpenWRT API Ya

💡 Kesimpulan

Python memang tidak bisa langsung mengubah pengaturan Wi-Fi pada router biasa, tapi sangat berguna untuk:

  • Membangun sistem login, monitoring, dan otentikasi
  • Mendeteksi dan merespons ancaman jaringan
  • Berintegrasi dengan sistem firewall dan API router

Jika kamu punya akses ke sistem jaringan (OpenWRT, MikroTik, atau Linux), Python menjadi alat otomatisasi dan keamanan yang sangat kuat.

⚠️ Hal yang Tidak Bisa Dilakukan Python Langsung

  • Mengganti password Wi-Fi router rumahan tanpa akses admin
  • Menjebol atau membobol jaringan Wi-Fi (itu ilegal dan tidak etis)
  • Mengatur jaringan sepenuhnya tanpa dukungan dari sistem operasi atau perangkat router
  • Mencegah peretas masuk ke jaringan Wi-Fi dari awal, itu tugasnya router

🚀 Contoh Use Case (Warung Kopi / Kafe)

Python bisa menjadi backend sistem manajemen Wi-Fi di tempat usaha. Contohnya:

  • Backend Flask menerima login user melalui portal web
  • Password Wi-Fi diganti otomatis tiap jam & dikirim ke pengguna setelah login
  • Backend mencatat siapa yang login & berapa lama akses mereka
  • Jika terdeteksi user mencurigakan, Python bisa kirim perintah ke router via API untuk memblokir MAC address

Sistem seperti ini meningkatkan kontrol & keamanan tanpa mengganggu kenyamanan pengguna.

Butuh Bantuan?

Kamu bisa meminta bantuan untuk hal berikut:

  • Contoh backend Python (Flask) untuk login Wi-Fi
  • Dashboard mini dengan Flask/ Versi blokir otomatis dengan alamat IP Wi-Fi dan tipe router kamu (contoh: 192.168.0.1 atau 192.168.1.1).
  • Cara integrasi Python dengan router tertentu (MikroTik, OpenWRT, TP-Link, dll)
  • Sistem otentikasi berbasis QR Code untuk Wi-Fi
  • Dashboard login, analisis lalu lintas, atau auto-block perangkat mencurigakan
  • Contoh skrip Python yang spesifik deteksi real-time untuk kondisi: integrasi dengan tipe router yang digunakan (misal: TP-Link, Indihome ZTE, MikroTik, Huawei, OpenWRT) dan sistem operasi (Windows/Linux/Raspberry Pi)

Silakan beri tahu bagian mana yang ingin dikembangkan!

Python: Blokir atau Putuskan Jaringan WiFi

Comments

Popular posts from this blog

Contoh Pindah Lokasi di CMD, Folder & Drive C D E

Langkah Cek Instalasi Python

Perbedaan antara Nmap dan python-nmap