T&J SO ini berjudul: Apakah ada standar yang mendefinisikan apa itu SSID dan kata sandi yang valid? jawab beberapa pertanyaan Anda.
kutipan
Bagian 7.3.2.1 dari spesifikasi 802.11-2007 ( http://standards.ieee.org/getieee802/download/802.11-2007.pdf ) mendefinisikan SSID.
SSID yang valid adalah 0-32 oktet dengan konten yang sewenang-wenang. SSID 0-length menunjukkan SSID wildcard (dalam frame permintaan probe misalnya).
Tidak ada set karakter yang terkait dengan SSID - string 32 byte NUL-byte adalah SSID yang valid.
Ini menyiratkan:
- Anda tidak boleh menggunakan fungsi string normal saat memanipulasi SSID generik (strcpy () dan teman-teman).
- Anda tidak boleh berasumsi bahwa SSID dapat dicetak ketika, misalnya, masuk ke disk
Ada juga komentar ini pada jawaban atas pertanyaan SO:
Ada versi standar yang diperbarui ( http://standards.ieee.org/getieee802/download/802.11-2012.pdf ), yang mendefinisikan SSIDEncoding
bidang. Itu bisa UNSPECIFIED
(untuk data sewenang-wenang) atau UTF8
.
Jadi saya akan mencari standar terbaru untuk panduan dan memastikan Anda dapat menangani apa yang legal berdasarkan itu.
Apa lagi?
Selain itu saya mungkin cenderung menjaga diri saya dengan menormalkan input pengguna menggunakan beberapa bentuk fungsi penyandian URL (sesuatu yang jelas bekerja dengan SSID) atau hanya menghapus karakter ilegal dan tidak mengizinkan mereka sebelum menulis string ini ke file ini .
Karakter aneh?
Satu-satunya masalah yang dapat saya temukan dengan karakter aneh / khusus yang terkait dengan interfaces
file adalah jenis bug yang diajukan terhadap installer-debian.
Debian-installer meminta informasi jaringan nirkabel saya dan berhasil menggunakannya untuk terhubung secara nirkabel ke jaringan. Itu juga menulis informasi jaringan nirkabel saya ke / etc / network / interfaces. Namun, kunci WPA yang saya masukkan berisi setidaknya satu karakter khusus, dan debian-installer tidak lolos atau mengutip karakter khusus di / etc / network / interfaces. Hasilnya adalah, pada saat reboot, sistem macet untuk waktu yang sangat lama selama proses boot ketika mencoba (tidak berhasil) untuk menghubungkan kembali ke jaringan nirkabel. Saya memperbaiki masalah hanya dengan mengutip kunci WPA yang tercantum di / etc / network / interfaces. Ini harus terjadi secara otomatis jika kunci berisi karakter khusus.
Juga ada bug-bug ini, yang terkait dengan spasi di dalam SSID, yang lainnya terkait dengan frasa sandi:
Dalam kedua kasus itu akan terlihat bahwa membungkus string dengan tanda kutip ganda sudah cukup untuk melindungi nilai-nilai untuk keduanya.
Contoh tambahan
Dokumen resmi
Menggali dokumentasi resmi yang saya temukan di sini:
Dokumen resmi menunjukkan contoh ini:
ap_scan=2
network={
ssid="test adhoc"
mode=1
frequency=2412
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="passphrase"
}
Maka akan tampak bahwa spasi diizinkan, asalkan dikutip dengan benar. Juga ada contoh ini yang menjelaskan cara memberikan SSID ruang untuk iwconfig
alat:
Tambahkan nama (ssid) untuk jaringan yang ingin Anda buat / gabungkan. Gunakan tanda kutip tunggal jika ada spasi di namanya.
$ sudo iwconfig eth1 essid 'name'
Webconverger
Saya menemukan contoh ini yang terlihat seperti Debian, jadi contohnya mungkin sesuai dengan situasi Anda, tetapi sulit untuk memastikannya. Saya memunculkannya hanya karena itu menunjukkan contoh bagaimana saya akan mengharapkan metode pengkodean URI akan terbuka untuk melindungi terhadap karakter ilegal.
kutipan
Contoh 4 "Spaces in ESSID", siaran esid 'Hopstock Gjestenett', dengan kunci WPA uiopzxcv
Harap hindari spasi dalam ESSID. Dalam hal ini kami mengatasinya dengan encodeURI ('Hopstock Gjestenett'), untuk mendapatkan resep boot berikut:
wpa-ssid=Hopstock%20Gjestenett wpa-psk=uiopzxcv
Jadi, Anda mungkin dapat menyandikan ruang yang muncul di SSID menggunakan %20
.
SSID
Menggali lebih dalam lagi saya menemukan komentar ini dari halaman Wikipedia pada Layanan yang ditetapkan (jaringan 802.11) .
Setiap BSS atau ESS diidentifikasi oleh pengidentifikasi set layanan (SSID) - string 1 hingga 32 byte. Biasanya ini adalah string yang dapat dibaca manusia dan dengan demikian biasa disebut "nama jaringan". 6 Dalam IBSS, SSID dipilih oleh perangkat klien yang memulai jaringan, dan penyiaran SSID dilakukan dalam urutan pseudo-acak oleh semua perangkat yang merupakan anggota jaringan.
Komentar ini didukung oleh presentasi ini dari Blackhat EU 2013, berjudul: Eksploitasi Praktis Menggunakan Pengidentifikasi Set Layanan Berbahaya (SSID) .
kutipan
- Tidak ada batasan yang pasti tentang karakter apa yang dapat digunakan dalam SSID (IEEE Std 802.11 ™ -2012)
- Beberapa batasan berdasarkan produk
- Beberapa batasan karakter (hanya ascii)
- Unicode
Jadi secara teknis setiap karakter diperbolehkan dalam SSID, implementasi yang berbeda seperti Windows XP, Windows 7, vs berbagai versi Linux memungkinkan / melarang subset karakter dalam SSID.
Referensi
wpa-ssid my ssid
.