Linux 命令列下連線WiFi

new_kali_notes發表於2018-05-27

          之前用了很久的一個dell筆記本因為一天之內讓我見識了四種不同的藍屏程式碼所以終於退役了。。。換了一個聯想拯救者R720,然而這也不是什麼省心的筆記本——一裝linux就卡死。今天受百度啟發,去BIOS裡關了獨顯和無線網路卡才總算可以用kali。
然而我又發現即便用USB無線網路卡它也不能通過UI連結上WiFi,


點開啟沒用。。。真是gg。
        所以我就趁機研究了一下用命令列怎麼連WiFI。
第一個問題是無線網路卡不亮燈,這個大家都知道, ifconfig wlan0 up不就行了嘛!然而。。。

雖然我現在還是不知道rf-kill究竟是個什麼鬼(好像是個為了節能而用來關掉無線連結的程式),但是百度說可以試試
rfkill unblock wifi 或者 rfkill unblock all然後再 ifconfig wlan0 up果然就亮燈了。

第二個問題就是用命令列連wifi需要一個wpa_supplicant的配置檔案,通常在/etc/wpa_supplicant下,叫wpa_supplicant.conf,不過位置和名字其實不重要,但是這個配置檔案的格式很重要,所以就有怎麼個命令:wpa_passphrase
wpa_passphrase SSID PASSWORD(綠色部分是要替換成你的WiFi名和密碼的部分),我這裡直接執行舉個例子而已

這個命令的輸出就是要寫進配置檔案裡的內容,“#”註釋掉的是明文密碼,如果需要保密可以不把註釋掉的那行寫進配置檔案,但這同時也說明如果直接把配置檔案寫成這樣也是可以的:
 

network={ ssid="SSID" psk="PASSWROD" }

 這樣其實就可以不用那命令自己寫了(反正沒幾行)。
然後是把輸出複製到配置檔案裡,當然你也可以一開始就把輸出重定向到檔案裡:

wpa_passphrase SSID PASSWORD > /etc/wpa_supplicant/wpa_supplicant.conf
第三個問題就是用wpa_supplicant在命令列下連結WiFi
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
-i是網路卡 -c 是配置檔案路徑 -B是後臺執行
然後其實就已經連結上WiFi了,但是還不能上網,因為沒有分配ip,但是現在大部分熱點都是DHCP自動分配ip,所以還需要客戶端配合一下:dhclient wlan0
等命令完成退出以後就可以上網了,但是ui還是那樣,顯示已關閉。。。

後記:後來發現針對聯想的筆記本裝linux,問題出在一個叫做ideapad_laptop的核心模組上,只要在/etc/modprobe.d資料夾下新建一個blacklist,禁用上述核心模組即可,即:

sudo echo "blacklist ideapad_laptop" > /etc/modprobe.d/ideapad-laptop-blacklist.conf

 

相關文章