項(xiàng)目中有需求用wifi設(shè)備獲取接入終端的mac地址逝钥,這個利用wifi探針可以做到,但有局限性拱镐,就是手機(jī)必須連接上wifi或者說發(fā)起了連接請求艘款,目前仍做不到用戶的無感知探測(PS:這么猥瑣的方式還是不鼓勵)。透過表面看本質(zhì)痢站,探索下原因磷箕,主要是Beacon和Probe Request在發(fā)揮作用
下面引用了802.11協(xié)議簇里面關(guān)于wifi連接過程的描述,從網(wǎng)絡(luò)上copy的阵难,更詳細(xì)的可以看IEEE相關(guān)文檔
0x1: 普通無加密連接過程
1. AP發(fā)送Beacon廣播管理幀
因?yàn)锳P發(fā)送的這個Beacon管理幀數(shù)據(jù)包是廣播地址岳枷,所以我們的PCMIA內(nèi)置網(wǎng)卡、或者USB外界網(wǎng)卡會接收到這個數(shù)據(jù)包,然后在我們的"無線連接列表"中顯示出來
2. 客戶端向承載指定SSID的AP發(fā)送Probe Request(探測請求)幀
當(dāng)我們點(diǎn)擊"連接"的時候空繁,無線網(wǎng)卡就會發(fā)送一個Prob數(shù)據(jù)幀殿衰,用來向AP請求連接
3. AP接入點(diǎn)對客戶端的SSID連接請求進(jìn)行應(yīng)答
AP對客戶端的連接作出了回應(yīng),并表示不接受任何形式的"幀有效負(fù)載加密(frame-payload-encryption)"
4. 客戶端對目標(biāo)AP請求進(jìn)行身份認(rèn)證(Authentication)
5. AP對客戶端的身份認(rèn)證(Authentication)請求作出回應(yīng)
AP回應(yīng)盛泡,表示接收身份認(rèn)證
6. 客戶端向AP發(fā)送連接(Association)請求
身份認(rèn)證通過之后闷祥,所有的準(zhǔn)備工作都做完了,客戶端這個時候可以向WLAN AP發(fā)起正式的連接請求傲诵,請求接入WLAN
7. AP對連接(Association)請求進(jìn)行回應(yīng)
AP對客戶端的連接請求(Association)予以了回應(yīng)(包括SSID凯砍、性能、加密設(shè)置等)拴竹。至此悟衩,Wi-Fi的連接身份認(rèn)證交互就全部結(jié)束了,之后就可以正常進(jìn)行數(shù)據(jù)發(fā)送了
8. 客戶端向AP請求斷開連接(Disassociation)
當(dāng)我們點(diǎn)擊"斷開連接"的時候栓拜,網(wǎng)卡會向AP發(fā)送一個斷開連接的管理數(shù)據(jù)幀座泳,請求進(jìn)行斷開連接