linux下应用wifi,AP侧运行程序hostapd,客户端运行wpa_supplicant。官网:http://w1.fi/。
无线网卡应用
无线网卡的应用服务程序为wpa_supplicant,其systemd配置文件为/lib/systemd/system/wpa_supplicant.service,内容如下。
[Unit] Description=WPA supplicant Before=network.target [Service] Type=simple ExecStart=/sbin/wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf ExecReload=/sbin/wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf RestartSec=120 Restart=on-failure [Install] WantedBy=multi-user.target Alias=dbus-fi.epitest.hostap.WPASupplicant.service
无线网卡上网方式的配置文件为/etc/wpa_supplicant.conf,样例如下:
ctrl_interface=/var/run/wpa_supplicant update_config=1 network={ scan_ssid=1 ssid="test" psk="123456" key_mgmt=WPA-PSK pairwise=CCMP }
通过修改配置文件可以实现连接不同wifi。
wifi配置项
无线WiFi一般需要配置的项如下:
ssid="xxx" 热点名称
psk="xxx" 连接密码
key_mgmt=xxx 认证方式
pairwise=xxx ,这个就是加密方式
注:key_mgmt项有三种取值 auto,wep,wpa2_psk
- 当为wep时,则key_mgmt=WPA-EAP
- 当为wpa2_psk时,则key_mgmt=WPA-PSK
- 当为auto时,则key_mgmt这项去掉
pairwise项有三种取值auto,tkip,aes
- 当为aes时,则pairwise=CCMP
- 当为tkip时,则pairwise=TKIP
- 当为auto时,则pairwise这项去掉
wifi认证方式和加密算法的区别
wifi认证方式相当于身份认证,如同你是警察,要看对方是不是警察,若是则认证通过,可以进一步交流,否则认证失败,不予交流;
这里认证的依据有两个,一个是认证方式要相同或者兼容,认证方式包括WEP,WPA-PSK,WPA2-PSK,WPA/WPA2-PSK,其中WPA/WPA2-PSK是兼容WPA-PSK和WPA2-PSK的,WPA2-PSK是不兼容WPA-PSK的,你是WEP,对方也要是WEP,你是WPA-PSK,对方也要是WPA-PSK,这个清楚就可以了;第二个依据就是每次使用WiFi网络前都需要手动输入的密码,这个要输入正确才能完成认证。
还有就是WPA-PSK,WPA2-PSK,后面带PSK主要是说明是家庭网络或者小公司网络使用的,输入密码就可以使用,而WPA和WPA2是其他大型公司网络使用的,需要输入其他信息例如后台服务器的IP地址等,使用复杂些,需要后台服务器,但是安全性更高。
wifi加密算法是为了保证wifi通信数据的安全,不被窃听,是对wifi通信数据的加密方式;如同你们都是警察了,可以展开交流,但是你们要用暗号交流,才能保证不被别人窃听交流内容。
这时加密方式主要有:
如果是WPA-PSK认证方式,就是TKIP算法;如果是WPA2-PSK模式,就是CCMP算法(注意CCMP算法的核心是AES算法,所以好多时候不提CCMP,就提AES了);同时WPA2-PSK也可以使用TKIP算法,WPA-PSK也可以使用AES算法,可以理解成加密方式大家都可以用,就是一种算法而已,但是AES比TKIP保密性更高,不容易被攻破。
还有就是wifi加密算法采用的秘钥是双方认证通过后,协商好的。这个秘钥和我们手动输入的wifi密码,不是一码事。
参考:
1.https://zhidao.baidu.com/question/262985839589669205.html 配置项解释