Apakah perangkat Android melakukan pemindaian aktif atau pasif saat mencari WiFi AP

9

Saya ingin tahu apakah perangkat Android melakukan pemindaian aktif atau pasif ketika mencari AP untuk terhubung. Saya sudah melakukan tes menggunakan Wireshark dan wifi sniffer dan sepertinya iPhone mengirim frame Permintaan Probe untuk menemukan AP yang tersedia (pemindaian aktif), perangkat Android saya kadang-kadang mengirim bingkai Permintaan Probe, tetapi sebagian besar kali itu tidak mengirim Probe Request frames all, tetapi menunggu AP mengirim frame Beacon (pemindaian pasif).

Saya telah mencari beberapa info / dokumentasi resmi mengenai topik ini, tetapi belum menemukan sesuatu yang bermanfaat. Saya akan sangat berterima kasih jika seseorang dapat memberi saya jawaban untuk pertanyaan ini.

fragon
sumber
1
Ketika ponsel aktif memindai AP, itu harus mengirim permintaan penyelidikan, bukan bingkai suar. Ponsel harus mencari suar atau respons probe.
mattm
@mattm Anda benar. Saya sudah mengedit pertanyaannya, jadi itu benar sekarang.
fragon

Jawaban:

7

Satu-satunya penjelasan "resmi" yang saya temukan adalah dalam komentar ini (bertanggal Juli 2009) di repositori Git di android:

wifi: WifiManager.startScan () sekarang akan melakukan pemindaian pasif secara default .

Pemindaian aktif hanya akan terjadi jika AP tersembunyi sedang digunakan, atau jika metode baru WifiManager.startScanActive () dipanggil.

Keberadaan fungsi tersembunyi untuk memulai pemindaian aktif (dilaporkan di sini ) menunjukkan bahwa fungsi pemindaian normal memang pasif. Ini harus diambil dengan sebutir garam, karena dokumentasi Android tidak secara eksplisit mengetahui apakah fungsi WifiManager.startScan () pasif atau tidak.

Juga terkait: dua posting ini pada SO ( posting 1 , posting 2 ) melaporkan bahwa aktivitas pemindaian pasif (posting 1) dan bahwa sejak android 4.3 bahkan tidak mungkin untuk memanggil metode pemindaian aktif (posting 2) - tetapi tidak ada tautan ke sumber resmi.

Komunitas
sumber
0

Saya telah mencari dokumen resmi untuk jawaban yang tepat juga. Tetapi saya tidak dapat menemukannya. Karenanya saya menulis basis ini dengan asumsi saya sendiri. Saya percaya perangkat klien (seluler dalam hal ini) melakukan pemindaian aktif dan pasif. Alasan saya adalah sebagai berikut:

  1. Ketika ponsel mengaktifkan antarmuka WiFi, ia perlu memindai suar oleh AP terdekat sehingga SSID yang tersedia akan terdaftar untuk koneksi. Ini adalah mode pemindaian pasif.
  2. Ponsel yang telah terhubung ke beberapa SSID sebelumnya akan merusak frame permintaan probe (dengan semua SSID) ke AP terdekat dan jika SSID cocok, AP akan menanggapi permintaan probe dan proses koneksi / otentikasi akan dimulai. Ini adalah mode pemindaian aktif.
  3. Kasus khusus untuk AP dengan SSID tersembunyi. Saat pengguna terhubung secara manual ke SSID tersembunyi, perangkat seluler akan menghasilkan permintaan penyelidikan dan menyiarkannya ke AP terdekat. Ketika SSID cocok dengan salah satu AP, itu akan diikuti oleh proses koneksi / otentikasi. Ini juga merupakan mode pemindaian aktif.
bohbian
sumber