最近这两天改bug,发现代码中有很多的一些操作网卡的操作和wifi扫描连接的工具指令 都不是很了解,在这里进行总结下
主要对下面几种指令总结:
网络相关的:
udhcpc
参考到:https://blog.csdn.net/sddsighhz/article/details/46005629
无线网络相关的:
iwlist
iwpriv
参考到:https://blog.csdn.net/qinglinsan/article/details/51419602
iwconfig
wpa_supplicant
这里主要是iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。
配置wifi模块,并连接相应的无线网络过程:主要使用iwpriv命令
1. iwlist指令
扫描可用的无线网络:iwlist wlan0 scanning
扫描到的结果为很多的Cell列表
Cell 09 - Address: 74:EE:2A:22:5D:10
ESSID:"H3900S3900"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=87/94 Signal level=-62 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Gb/s; 2 Gb/s; 5.5 Gb/s; 11 Gb/s; 6 Gb/s
9 Gb/s; 12 Gb/s; 18 Gb/s; 24 Gb/s; 36 Gb/s
48 Gb/s; 54 Gb/s
Extra:bcn_int=100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Extra:wme_ie=dd180050f2020101800003a4000027a4000042435d0062322e00
Extra:phy_mode=IEEE80211_MODE_11NG_HT20
Extra:dtim_period=1
IE: Unknown: DD7D0050F204104A0001101044000102103B00010310470010123456789ABCDEF0123456789ABCDEF0102100075265616C74656B1023000A5254575F534F4654415010240007574C414E5F43551042000531323334351054000800060050F20400011011000952544C38313932435510080002210C1049000600372A000120
然后是一系列的wifi参数配置,去连接
2 连接该网络:有两种方式:
- iwpriv wlan0 set SSID=jxj_rd
- iwconfig wlan0 essid jxj_rd 两种均可以查看
至此,如果密码正确,就可以连接上网络jxj_rd了。如果你不放心,可以用命令查看状态:
- iwpriv wlan0 connStatus
当然,你也可以用iwconfig命令查看状态。(但是在我自己的设备里面就没有这个指令)