【抄襲個筆記】
1、編譯步驟
https://blog.csdn.net/weixin_49071468/article/details/133170711?spm=1001.2014.3001.5502
2、iwlist
iwlist wlan0 scan[ning]?? ??? ??? ??? ??? ?列出WiFi掃描結(jié)果
iwlist wlan0 freq[uency]/channel?? ??? ?列出當(dāng)前地區(qū)可用頻率
iwlist wlan0 rate/bit[rate]?? ??? ? ?? ??? ?列出支持的連接速度
iwlist wlan0 keys/enc[ryption]?? ??? ??? ?列出所支持的加密密鑰大小
iwlist wlan0 power?? ??? ??? ??? ??? ??? ?列出電源模式
iwlist wlan0 txpower?? ??? ??? ??? ??? ?列出傳輸功耗
iwlist wlan0 retry?? ??? ??? ??? ??? ??? ?列出重連限制與次數(shù)
iwlist wlan0 ap/accesspoint/peers?? ??? ?列出熱點信息
iwlist wlan0 event?? ??? ??? ??? ??? ??? ?列出設(shè)備支持的無線事件
iwlist wlan0 auth?? ??? ??? ??? ??? ??? ?列出當(dāng)前設(shè)置的WPA認(rèn)證參數(shù)
iwlist wlan0 wpa[keys]?? ??? ??? ??? ??? ?列出設(shè)備中設(shè)置的所有WPA加密密鑰
iwlist wlan0 genie?? ??? ??? ??? ??? ??? ?列出設(shè)置的通用信息元素
iwlist wlan0 modu[lation]?? ??? ??? ??? ?列出設(shè)備支持的調(diào)制和當(dāng)前啟用的調(diào)制
iwlist --version?? ??? ??? ??? ??? ??? ?列出版本信息
iwlist --help?? ??? ??? ??? ??? ??? ??? ?列出幫助信息
?
3、iwconfig
iwconfig wlan0 freq 2422000000?? ??? ??? ?設(shè)置頻率
iwconfig wlan0 freq 2.422G?? ??? ??? ??? ?設(shè)置頻率
iwconfig wlan0 channel 3?? ??? ??? ??? ?設(shè)置信道
iwconfig wlan0 channel auto?? ??? ??? ??? ?設(shè)置信道
iwconfig wlan0 modu 11g?? ??? ??? ??? ??? ?強制設(shè)置調(diào)制方式
iwconfig wlan0 modu CCK OFDMa?? ??? ??? ?強制設(shè)置調(diào)制方式
iwconfig wlan0 modu auto?? ??? ??? ??? ?強制設(shè)置調(diào)制方式
iwconfig wlan0 txpower 15?? ??? ??? ??? ?設(shè)置發(fā)射功率為15dBm
iwconfig wlan0 txpower 30mW?? ??? ??? ??? ?設(shè)置發(fā)射功率:dBm=30+log(W)
iwconfig wlan0 txpower auto?? ??? ??? ??? ?設(shè)置自動選擇發(fā)射功率
iwconfig wlan0 txpower off?? ??? ??? ??? ?關(guān)閉發(fā)射單元
iwconfig wlan0 sens -80?? ??? ??? ??? ??? ?負數(shù)為接收靈敏度下限,低則表信號差,網(wǎng)卡會采取措施
iwconfig wlan0 sens 2?? ??? ??? ??? ??? ?正數(shù)表示百分比
iwconfig wlan0 retry 16?? ??? ??? ??? ??? ?設(shè)置最大重傳次數(shù)
iwconfig wlan0 retry lifetime 300m?? ??? ?設(shè)置最長重試時間,默認(rèn)單位為秒
iwconfig wlan0 retry min limit 8?? ??? ?若支持自動模式,min和max指定上下限
iwconfig wlan0 rts 250?? ??? ??? ??? ??? ?設(shè)置握手最小包的大小,等于最大值表禁止該機制
iwconfig wlan0 rts off?? ??? ??? ??? ??? ?auto/off/fixed禁止RTS/CTS握手方式
iwconfig wlan0 frag 512?? ??? ??? ??? ??? ?設(shè)置發(fā)送數(shù)據(jù)包的分片大小
iwconfig wlan0 frag off?? ??? ??? ??? ??? ?auto/fixed/off允許Burst模式
iwconfig wlan0 power period 2?? ??? ??? ?指定喚醒的周期,默認(rèn)單位為秒
iwconfig wlan0 power 500m unicast?? ??? ?all/unicast/multicast指定允許喚醒的數(shù)據(jù)包類型
iwconfig wlan0 power timeout 300u all?? ?all/unicast/multicast指定允許喚醒的數(shù)據(jù)包類型
iwconfig wlan0 power off?? ??? ??? ??? ?off/on參數(shù)指定是否允許電源管理
iwconfig wlan0 power min period 2 power max period 4 指定喚醒的周期
?
4、iw
iw --debug?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?使能netlink調(diào)試
iw --version?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?查看版本信息
iw help?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?顯示幫助信息
iw event [-t] [-r] [-f]?? ??? ??? ??? ??? ??? ??? ??? ??? ?監(jiān)聽內(nèi)核事件
iw list/phy?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?列出設(shè)備性能
iw dev?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?列出無線硬件的所有網(wǎng)絡(luò)接口
iw dev wlan0 scan?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?搜索周圍WiFi信息
iw dev wlan0 link?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?獲得連接狀態(tài)
iw dev wlan0 info?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?顯示接口信息
iw dev wlan0 station dump?? ??? ??? ??? ??? ??? ??? ??? ?列出所有STA信息
iw dev wlan0 connect wifi名稱?? ??? ??? ??? ??? ??? ??? ?連接至OPEN方式的AP
iw dev wlan0 connect wifi名稱 2432?? ??? ??? ??? ??? ??? ?有同名熱點AP時指定特定頻段
iw dev wlan0 connect wifi名稱 key 0:密碼 d:1:默認(rèn)密碼?? ?連接至WEP加密方式的AP
iw dev wlan0 disconnect?? ??? ??? ??? ??? ??? ??? ??? ??? ?斷開連接
?
5、wpa_supplicant
5.1 wpa_supplicant —— 連接AP熱點
前面iwlist、iwconfig屬于wireless tools的程序,iw是iwconfig的替代者,都僅支持連接OPEN與WEP加密方式的WiFi;而wpa_supplicant支持在802.11規(guī)范中定義的各種安全連接和WPS。
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B
?
配置文件/etc/wpa_supplicant.conf
內(nèi)容參考:
<OPEN模式>:
ctrl_interface=/var/run/wpa_supplicant
network={
?ssid="WiFi-1"
?key_mgmt=NONE
}
?
<WEP模式>:
ctrl_interface=/var/run/wpa_supplicant
network={
?ssid="WiFi-1"
?key_mgmt=NONE
?wep_key0="abcde"
?wep_key1=0102030405
?wep_tx_keyidx=0
}
?
<WPA模式>:
ctrl_interface=/var/run/wpa_supplicant
network={
?ssid="WiFi-1"
?key_mgmt=WPA-PSK
?proto=WPA
?pairwise=TKIP
?group=TKIP
?psk="123123123"
}
?
<WPA2模式>:
ctrl_interface=/var/run/wpa_supplicant
network={
?ssid="WiFi-1"
?psk="123123123"
}
?
5.2 wpa_cli —— wpa_supplicant的客戶端
wpa_cli程序的運行需要依賴于wpa_supplicant的后臺運行,屬于服務(wù)器端和客戶端的關(guān)系。
wpa_cli help?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?打印幫助信息
wpa_cli -i wlan0 status?? ??? ??? ??? ??? ??? ??? ??? ??? ?顯示當(dāng)前連接信息
wpa_cli -i wlan0 scan?? ??? ??? ??? ??? ??? ??? ??? ??? ?搜索周圍WiFi信息
wpa_cli -i wlan0 scan_result?? ??? ??? ??? ??? ??? ??? ?顯示上一次的搜索結(jié)果
wpa_cli -i wlan0 list_networks?? ??? ??? ??? ??? ??? ??? ?顯示已配置的網(wǎng)絡(luò)與信息
wpa_cli -i wlan0 add_network?? ??? ??? ??? ??? ??? ??? ?添加一個網(wǎng)絡(luò)返回一個數(shù)字n
wpa_cli -i wlan0 set_network n ssid '"name"'?? ??? ??? ?輸入要連接的WiFi名稱
wpa_cli -i wlan0 set_network n key_mgmt NONE?? ??? ??? ?輸入加密方式OPEN/WEP
wpa_cli -i wlan0 set_network n wep_key0 '"psk"'?? ??? ??? ?輸入加密方式WEP的密碼
wpa_cli -i wlan0 set_network n psk '"psk"'?? ??? ??? ??? ?輸入加密方式WPA/WPA2的密碼
wpa_cli -i wlan0 enable_network n?? ??? ??? ??? ??? ??? ?設(shè)置后需要啟用WiFi
wpa_cli -i wlan0 save_config?? ??? ??? ??? ??? ??? ??? ?保存WiFi配置
wpa_cli -i wlan0 select_network n?? ??? ??? ??? ??? ??? ?有多個WiFi時選擇其中一個
wpa_cli -i wlan0 reconfigure?? ??? ??? ??? ??? ??? ??? ?重新加載配置文件
wpa_cli -i wlan0 disconnect?? ??? ??? ??? ??? ??? ??? ??? ?斷開WiFi連接
wpa_cli -i wlan0 reconnect?? ??? ??? ??? ??? ??? ??? ??? ?重新連接
wpa_cli -i wlan0 remove_network n?? ??? ??? ??? ??? ??? ?移除WiFi配置
wpa_cli -i wlan0 terminate?? ??? ??? ??? ??? ??? ??? ??? ?關(guān)閉后臺服務(wù)器程序
wpa_cli [-i wlan0]?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?進入交互模式,命令可以為status等
?
6、動態(tài)獲取IP地址
6.1?方式1:使用busybox自帶的udhcpc工具(推薦)
udhcpc -i wlan0 &
如果失敗,可以參考以下案列
前段時間在buildroot搭建的根文件系統(tǒng)中移植過wifi驅(qū)動并且調(diào)試成功,一般來說,buildroot構(gòu)建的文件系統(tǒng)比較完整,但最近使用busybox來構(gòu)建了根文件系統(tǒng),后者就比較簡陋,很多文件都是靠自己去創(chuàng)建等等,所以在移植wifi網(wǎng)卡的時候就出現(xiàn)了缺乏某些文件導(dǎo)致功能不能正常使用的問題,現(xiàn)在就記錄一下使用busybox里的小工具udhcpc能成功動態(tài)獲取ip地址,但沒能自動設(shè)置DNS,也就沒能上網(wǎng)的問題。
udhcpc是一個面向嵌入式系統(tǒng)的非常小的DHCP客戶端,字母的縮寫微-?DHCP?-客戶端(μDHCPc)。
解決辦法:
udhcpc只是獲取一個IP,我們需要把\busybox-1.1.2\examples\udhcp下的腳本simple.script改名為default.script,放在開發(fā)板上的/usr/share/dhcpc/目錄下,才能將獲取的IP寫到指定的網(wǎng)卡中。
1.?busybox\examples\udhcp\simple.script
拷貝到開發(fā)板
/usr/share/udhcpc/default.script
2.?要添加可執(zhí)行權(quán)限
#?chmod?755?/usr/share/udhcpc/default.script
6.2 方式2:dhclient
dhclient wlan0?? ??? ??? ??? ??? ?獲取IP地址
dhclient -r?? ??? ??? ??? ??? ??? ?釋放IP地址
dhclient -s 192.168.1.123?? ??? ?從指定的服務(wù)器獲取ip地址
?
7、hostapd
7.1 hostapd —— 創(chuàng)建AP熱點
hostapd /etc/myhostapd.conf -B
hostapd依賴于dhcpd后臺運行給連接的設(shè)備動態(tài)分配IP地址,配置文件/etc/myhostapd.conf
內(nèi)容如下:
<OPEN模式>:
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=WiFi-1
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
?
<WEP模式>:
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=WiFi-1
channel=1
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0="123123123"
wep_default_key=0
?
<WPA/WPA2模式>:
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=WiFi-1
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=123123123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
?
7.2 hostapd_cli —— hostapd的客戶端
hostapd_cli -h?? ??? ??? ??? ??? ??? ??? ??? ??? ?顯示幫助信息
hostapd_cli -v?? ??? ??? ??? ??? ??? ??? ??? ??? ?顯示版本信息
hostapd_cli -p <path>?? ??? ??? ??? ??? ??? ??? ?指定socket的路徑?? ??? ??? ??? ??? ??? ?
hostapd_cli -i wlan0 all_sta?? ??? ??? ??? ??? ?顯示所有連接設(shè)備
hostapd_cli -i wlan0 sta <addr>?? ??? ??? ??? ??? ?查看某個設(shè)備信息
hostapd_cli -i wlan0 interface?? ??? ??? ??? ??? ?顯示網(wǎng)卡接口
hostapd_cli -i wlan0 interface [ifname]?? ??? ??? ?指定網(wǎng)卡接口
hostapd_cli -i wlan0 get_config?? ??? ??? ??? ??? ?獲得配置
hostapd_cli -i wlan0 disassociate <addr>?? ??? ?斷開某個設(shè)備的連接
hostapd_cli -i wlan0 level n?? ??? ??? ??? ??? ?設(shè)置打印級別
hostapd_cli -i wlan0 license?? ??? ??? ??? ??? ?顯示證書
hostapd_cli [-i wlan0]?? ??? ??? ??? ??? ??? ??? ?進入交互模式,命令可以為all_sta等
?
8、動態(tài)分配IP地址
8.1 方式1:使用busybox自帶的udhcpd工具(推薦)
# 提示沒有哪些文件就去給它創(chuàng)建
touch /etc/udhcpd.leases
udhcpd -f /etc/dhcpd.conf &
?
配置文件/etc/dhcpd.conf
內(nèi)容如下:
start 192.168.1.100
end 192.168.1.199
interface wlan0
max_leases 32
remaining yes
auto_time 7200
decline_time 3600
conflict_time 3600
offer_time 60
min_lease 60
pidfile /etc/dhcpd_wlan0_pid.txt
lease_file /etc/udhcpd.leases
opt dns 192.168.1.1
opt subnet 255.255.255.0
opt router 192.168.1.1
opt wins 192.168.1.1
opt domain local
opt lease 3600
?
8.2 方式2:dhcpd
touch /var/db/dhcpd.leases
ifconfig wlan0 192.168.1.1
dhcpd -cf /etc/dhcpd.conf wlan0
?文章來源:http://www.zghlxwxcb.cn/news/detail-795065.html
subnet 192.168.1.0 netmask 255.255.255.0 { ? ? ? ? ? ? ? ? ? ? ??
? range 192.168.1.10 192.168.1.100; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? option domain-name-servers 192.168.1.1; ? ? ? ? ? ? ? ? ? ? ? ?
? option routers 192.168.1.1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
} ?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-795065.html
到了這里,關(guān)于Linux:命令行調(diào)試WiFi(iwlist/iwconfig/iw/wpa_supplicant/wpa_cli/dhcp/hostapd/hostapd_cli的使用方法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!