2011-01-31 55 views
0

我正在開發基於運行嵌入式Linux的IMX233的手持設備,並且正在使用Unifi CSR6026連接到WiFi網絡。我已經使用wpa_supplicant和wpa_cli實用程序運行基本WiFi連接。但是我無法檢測用戶何時輸入了訪問點的錯誤密鑰。 'wpa_cli status'顯示'wpa_state = COMPLETED',iwconfig也返回當前連接的接入點的正確ESSID和MAC地址。是否有任何其他方式來確定用戶是否輸入了錯誤的密鑰?wpa_supplicant/wpa_cli無法檢測到接入點的錯誤密鑰

[email protected] ~$ wpa_cli status 

Selected interface 'eth0' 
bssid=00:24:01:6a:3f:26 
ssid=FirstFloorBGN 
id=1 
pairwise_cipher=WEP-40 
group_cipher=WEP-40 
key_mgmt=NONE 
wpa_state=COMPLETED 


[email protected] ~$ iwconfig 

lo  no wireless extensionsunifi1: unifi_giwencode: Surprise, do not have a 
valid key index (0) 
. 

eth0  IEEE 802.11-b/g ESSID:"FirstFloorBGN" 
      Mode:Managed Frequency:2.422 GHz Access Point: 00:24:01:6A:3F:26 
      Bit Rate=24 Mb/s 
      RTS thr=0 B Fragment thr:off 
      Encryption key:off 
      Power Management period:500ms mode:All packets received 
      Link Quality=25/40 Signal level=-47 dBm Noise level=-72 dBm 
      Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 
      Tx excessive retries:0 Invalid misc:0 Missed beacon:0 

回答

0

使用WEP,沒有明確的密鑰交換,所以沒有可以注意到解密錯誤的地方。你的選擇是

  1. 切換到WPA
  2. 監測解密錯誤的無線統計。

請注意,後者不一定表示接入點正在使用不同的密鑰。

+0

但即使在連接到基於WEP的接入點時,PC和iPhone也檢測到錯誤的密鑰...... – androidFan 2011-01-31 10:50:16