嵌入式Linux系统网络的配置
2014-11-25 18:42
387 查看
wpa_supplicant被设计为一个运行在后台的守护进程,是一个控制无线连接的后台组件。wpa_supplicant支持分离的前端程序,并且包含一个基于文本的前端程序wpa_client。wpa_supplicant应用比较广泛,并且已经被Google引入Android系统。
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
sleep 3
udhcpc -i $NETIF
运行wpa_cli之后,会进入命令行交互模式,依次执行scan和scan_results可以显示搜索到的周围的AP信息。如下所示:
> bssid / frequency / signal level / flags / ssid
80:81:10:23:0e:60 2447 96 [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS] treebear
d4:ee:07:0d:71:a6 2412 71 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] hello
d4:ee:07:0d:68:8c 2442 82 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] happy
d4:ee:07:0d:67:68 2427 45 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] xixi
bc:d1:77:b6:c6:08 2437 23 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] zhaojin
从中可以得到AP的MAC地址、信号强度以及加密方式等信息。
按下面的顺序依次执行指令,可以连接到加密方式为WPA-PSK/WPA2-PSK的AP:
> add_network (assume return 1)
> set_network 1 ssid "happy"
> set_network 1 psk "mypassword"
> enable_network 1
到此,wifi模块就能连接上AP了。
这些参数在wpa_supplicant.conf中也要用到。
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
fast_reauth=1
network={
ssid="test"
scan_ssid=1
key_mgmt=WPA-PSK WPA-EAP NONE
# proto=WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=123test
priority=5
}
上面的配置信息指明了连接名称为test,密码为123testt的wifi,以及使用的加密模式等信息。
关于key_mgmt和pairwise:
adding dns 219.141.140.10
adding dns 219.141.136.10
执行命令cat /etc/resolv.conf,会打印出上面添加这两个DNS服务器的地址,这两个地址是北京市的DNS服务器地址。
国内通用的DNS服务器:114.114.114.114
国际通用的DNS服务器:8.8.8.8
1.启动wpa_supplicant和udhcpc服务
ifconfig wlan0 upwpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
sleep 3
udhcpc -i $NETIF
2.wpa_cli的用法
首先运行wpa_supplicant服务,之后运行wpa_cli。运行wpa_cli之后,会进入命令行交互模式,依次执行scan和scan_results可以显示搜索到的周围的AP信息。如下所示:
> bssid / frequency / signal level / flags / ssid
80:81:10:23:0e:60 2447 96 [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS] treebear
d4:ee:07:0d:71:a6 2412 71 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] hello
d4:ee:07:0d:68:8c 2442 82 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] happy
d4:ee:07:0d:67:68 2427 45 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] xixi
bc:d1:77:b6:c6:08 2437 23 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] zhaojin
从中可以得到AP的MAC地址、信号强度以及加密方式等信息。
按下面的顺序依次执行指令,可以连接到加密方式为WPA-PSK/WPA2-PSK的AP:
> add_network (assume return 1)
> set_network 1 ssid "happy"
> set_network 1 psk "mypassword"
> enable_network 1
到此,wifi模块就能连接上AP了。
3.获取网络信息命令
获取网络信息命令 get_network <network id> <key> ,其中key的含义及取值如下图所示,这些参数在wpa_supplicant.conf中也要用到。
4.wpa_supplicant.conf配置文件
以下是一个比较通用的配置文件的内容:ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
fast_reauth=1
network={
ssid="test"
scan_ssid=1
key_mgmt=WPA-PSK WPA-EAP NONE
# proto=WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=123test
priority=5
}
上面的配置信息指明了连接名称为test,密码为123testt的wifi,以及使用的加密模式等信息。
关于key_mgmt和pairwise:
无线网络的安全性由认证和加密来保证。 认证允许只有被许可的用户才能连接到无线网络; 加密的目的是提供数据的保密性和完整性(数据在传输过程中不会被篡改)。 如果非要用公式来表示 WPA/WPA2,那么可以这样: WPA = (IEEE802.1X + EAP) + TKIP/AES + MIC WPA2 = (IEEE802.1X + EAP) + AES/CCMP + MIC 其中 TKIP,AES,CCMP都只是WPA的加密规则,专业一点的叫法叫做 单播加密套件。在实际使用过程中,一方面路由器上可以让用户选择使用哪种 WPA/WPA2的加密方式;另一方面,AP也可以根据STATION类型中单播加密套件的最低级别来决定加密套件(因为有的加密方式可能STATION不支持)。
MIC(message integrality check):<span style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 20.02px;">消息完整性检查</span> 链接:http://www.zhihu.com/question/27614799/answer/46041457
5.DNS服务器
udhcpc服务在运行时,经常会打印出如下所示的信息:adding dns 219.141.140.10
adding dns 219.141.136.10
执行命令cat /etc/resolv.conf,会打印出上面添加这两个DNS服务器的地址,这两个地址是北京市的DNS服务器地址。
国内通用的DNS服务器:114.114.114.114
国际通用的DNS服务器:8.8.8.8
相关文章推荐
- linux嵌入式编程高手历程系列8-NFS网络文件系统配置方法
- 嵌入式控制(0)----linux系统网络配置
- 嵌入式linux系统网络配置
- Linux系统中网络配置详解
- Linux系统中网络配置详解(三)
- Linux系统下NIS(network information service)网络信息服务器配置方法------RHEL4
- 嵌入式Linux网络配置(hisi arm glibc)
- Linux高性能集群常用服务简介与配置(二)——NFS(网络文件系统)
- 在嵌入式Linux 系统中实现基于Web 的配置管理
- Linux系统中网络配置详解
- Linux下NFS(网络文件系统)的建立与配置方法 [转]
- Linux系统管理实践(7):网络配置
- Linux系统网络配置详解
- 简要介绍如何配置与使用 Linux 网络系统的多播IP
- 嵌入式linux系统网络超级服务器构建指南(for arm)
- Linux系统网络服务配置文件详解
- Linux系统中网络配置详解
- (转载)如何配置VMware中Linux系统网络
- Linux系统中网络配置详解
- [转]Linux下NFS(网络文件系统)的建立与配置方法