Linux 命令行下连接WiFi

          之前用了很久的一个dell笔记本因为一天之内让我见识了四种不同的蓝屏代码所以终于退役了。。。换了一个联想拯救者R720,然而这也不是什么省心的笔记本——一装linux就卡死。今天受百度启发,去BIOS里关了独显和无线网卡才总算可以用kali。
然而我又发现即便用USB无线网卡它也不能通过UI链接上WiFi,
Linux 命令行下连接WiFi - ΑΝΑΓΚΗ - KALI linux 新版折腾笔记 Linux 命令行下连接WiFi - ΑΝΑΓΚΗ - KALI linux 新版折腾笔记
点开启没用。。。真是gg。
        所以我就趁机研究了一下用命令行怎么连WiFI。
第一个问题是无线网卡不亮灯,这个大家都知道, ifconfig wlan0 up不就行了嘛!然而。。。
Linux 命令行下连接WiFi - ΑΝΑΓΚΗ - KALI linux 新版折腾笔记
虽然我现在还是不知道rf-kill究竟是个什么鬼(好像是个为了节能而用来关掉无线链接的程序),但是百度说可以试试
rfkill unblock wifi 或者 rfkill unblock all然后再 ifconfig wlan0 up果然就亮灯了。
Linux 命令行下连接WiFi - ΑΝΑΓΚΗ - KALI linux 新版折腾笔记
第二个问题就是用命令行连wifi需要一个wpa_supplicant的配置文件
,通常在/etc/wpa_supplicant下,叫wpa_supplicant.conf,不过位置和名字其实不重要,但是这个配置文件的格式很重要,所以就有怎么个命令:wpa_passphrase
wpa_passphrase SSID PASSWORD(绿色部分是要替换成你的WiFi名和密码的部分),我这里直接运行举个栗子而已
Linux 命令行下连接WiFi - ΑΝΑΓΚΗ - KALI linux 新版折腾笔记
这个命令的输出就是要写进配置文件里的内容,“#”注释掉的是明文密码,如果需要保密可以不把注释掉的那行写进配置文件,但这同时也说明如果直接把配置文件写成这样也是可以的:
 
   

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还是那样,显示已关闭。。。