Linux:命令行调试WiFi(iwlist/iwconfig/iw/wpa_supplicant/wpa_cli/dhcp/hostapd/hostapd_cli的使用方法)

这篇具有很好参考价值的文章主要介绍了Linux:命令行调试WiFi(iwlist/iwconfig/iw/wpa_supplicant/wpa_cli/dhcp/hostapd/hostapd_cli的使用方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【抄袭个笔记】
1、编译步骤

https://blog.csdn.net/weixin_49071468/article/details/133170711?spm=1001.2014.3001.5502
2、iwlist

iwlist wlan0 scan[ning]                    列出WiFi扫描结果
iwlist wlan0 freq[uency]/channel        列出当前地区可用频率
iwlist wlan0 rate/bit[rate]                 列出支持的连接速度
iwlist wlan0 keys/enc[ryption]            列出所支持的加密密钥大小
iwlist wlan0 power                        列出电源模式
iwlist wlan0 txpower                    列出传输功耗
iwlist wlan0 retry                        列出重连限制与次数
iwlist wlan0 ap/accesspoint/peers        列出热点信息
iwlist wlan0 event                        列出设备支持的无线事件
iwlist wlan0 auth                        列出当前设置的WPA认证参数
iwlist wlan0 wpa[keys]                    列出设备中设置的所有WPA加密密钥
iwlist wlan0 genie                        列出设置的通用信息元素
iwlist wlan0 modu[lation]                列出设备支持的调制和当前启用的调制
iwlist --version                        列出版本信息
iwlist --help                            列出帮助信息
 

3、iwconfig

iwconfig wlan0 freq 2422000000            设置频率
iwconfig wlan0 freq 2.422G                设置频率
iwconfig wlan0 channel 3                设置信道
iwconfig wlan0 channel auto                设置信道
iwconfig wlan0 modu 11g                    强制设置调制方式
iwconfig wlan0 modu CCK OFDMa            强制设置调制方式
iwconfig wlan0 modu auto                强制设置调制方式
iwconfig wlan0 txpower 15                设置发射功率为15dBm
iwconfig wlan0 txpower 30mW                设置发射功率:dBm=30+log(W)
iwconfig wlan0 txpower auto                设置自动选择发射功率
iwconfig wlan0 txpower off                关闭发射单元
iwconfig wlan0 sens -80                    负数为接收灵敏度下限,低则表信号差,网卡会采取措施
iwconfig wlan0 sens 2                    正数表示百分比
iwconfig wlan0 retry 16                    设置最大重传次数
iwconfig wlan0 retry lifetime 300m        设置最长重试时间,默认单位为秒
iwconfig wlan0 retry min limit 8        若支持自动模式,min和max指定上下限
iwconfig wlan0 rts 250                    设置握手最小包的大小,等于最大值表禁止该机制
iwconfig wlan0 rts off                    auto/off/fixed禁止RTS/CTS握手方式
iwconfig wlan0 frag 512                    设置发送数据包的分片大小
iwconfig wlan0 frag off                    auto/fixed/off允许Burst模式
iwconfig wlan0 power period 2            指定唤醒的周期,默认单位为秒
iwconfig wlan0 power 500m unicast        all/unicast/multicast指定允许唤醒的数据包类型
iwconfig wlan0 power timeout 300u all    all/unicast/multicast指定允许唤醒的数据包类型
iwconfig wlan0 power off                off/on参数指定是否允许电源管理
iwconfig wlan0 power min period 2 power max period 4 指定唤醒的周期
 

4、iw
iw --debug                                                使能netlink调试
iw --version                                            查看版本信息
iw help                                                    显示帮助信息
iw event [-t] [-r] [-f]                                    监听内核事件
iw list/phy                                                列出设备性能
iw dev                                                    列出无线硬件的所有网络接口
iw dev wlan0 scan                                        搜索周围WiFi信息
iw dev wlan0 link                                        获得连接状态
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:默认密码    连接至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规范中定义的各种安全连接和WPS。

wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B
 

配置文件/etc/wpa_supplicant.conf内容参考:

<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的后台运行,属于服务器端和客户端的关系。

wpa_cli help                                            打印帮助信息
wpa_cli -i wlan0 status                                    显示当前连接信息
wpa_cli -i wlan0 scan                                    搜索周围WiFi信息
wpa_cli -i wlan0 scan_result                            显示上一次的搜索结果
wpa_cli -i wlan0 list_networks                            显示已配置的网络与信息
wpa_cli -i wlan0 add_network                            添加一个网络返回一个数字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                        设置后需要启用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                                关闭后台服务器程序
wpa_cli [-i wlan0]                                        进入交互模式,命令可以为status等
 

6、动态获取IP地址

6.1 方式1:使用busybox自带的udhcpc工具(推荐)

udhcpc -i wlan0 &

如果失败,可以参考以下案列

前段时间在buildroot搭建的根文件系统中移植过wifi驱动并且调试成功,一般来说,buildroot构建的文件系统比较完整,但最近使用busybox来构建了根文件系统,后者就比较简陋,很多文件都是靠自己去创建等等,所以在移植wifi网卡的时候就出现了缺乏某些文件导致功能不能正常使用的问题,现在就记录一下使用busybox里的小工具udhcpc能成功动态获取ip地址,但没能自动设置DNS,也就没能上网的问题。

udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微- DHCP -客户端(μDHCPc)。

解决办法:

udhcpc只是获取一个IP,我们需要把\busybox-1.1.2\examples\udhcp下的脚本simple.script改名为default.script,放在开发板上的/usr/share/dhcpc/目录下,才能将获取的IP写到指定的网卡中。
1. busybox\examples\udhcp\simple.script
拷贝到开发板
/usr/share/udhcpc/default.script

2. 要添加可执行权限
# chmod 755 /usr/share/udhcpc/default.script

6.2 方式2:dhclient

dhclient wlan0                    获取IP地址
dhclient -r                        释放IP地址
dhclient -s 192.168.1.123        从指定的服务器获取ip地址
 

7、hostapd

7.1 hostapd —— 创建AP热点

hostapd /etc/myhostapd.conf -B

hostapd依赖于dhcpd后台运行给连接的设备动态分配IP地址,配置文件/etc/myhostapd.conf内容如下:
<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                    显示所有连接设备
hostapd_cli -i wlan0 sta <addr>                    查看某个设备信息
hostapd_cli -i wlan0 interface                    显示网卡接口
hostapd_cli -i wlan0 interface [ifname]            指定网卡接口
hostapd_cli -i wlan0 get_config                    获得配置
hostapd_cli -i wlan0 disassociate <addr>        断开某个设备的连接
hostapd_cli -i wlan0 level n                    设置打印级别
hostapd_cli -i wlan0 license                    显示证书
hostapd_cli [-i wlan0]                            进入交互模式,命令可以为all_sta等
 

8、动态分配IP地址

8.1 方式1:使用busybox自带的udhcpd工具(推荐)

# 提示没有哪些文件就去给它创建
touch /etc/udhcpd.leases
udhcpd -f /etc/dhcpd.conf &
 

配置文件/etc/dhcpd.conf内容如下:

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
 

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;                                    
}  
 文章来源地址https://www.toymoban.com/news/detail-795065.html

到了这里,关于Linux:命令行调试WiFi(iwlist/iwconfig/iw/wpa_supplicant/wpa_cli/dhcp/hostapd/hostapd_cli的使用方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MTK平台】【wpa_supplicant】关于wpa_supplicant_8/src/p2p/p2p_invitation.c文件的介绍

    本文主要介绍external/wpa_supplicant_8/src/p2p/p2p_invitation.c文件  这里主要介绍6个方法 1.p2p_invite //作为Wi-Fi Direct邀请流程的第一个步骤,它用来构造并广播P2P邀请请求,正式向目标设备发起建立P2P连接的邀请 2.p2p_invite_send //作为p2p_invite方法内部的辅助方法,它完成构造好的Wi-Fi Direct邀

    2024年02月14日
    浏览(34)
  • 【MTK平台】【wpa_supplicant】关于wpa_supplicant_8/src/p2p/p2p_go_neg.c文件的介绍

    本文主要介绍external/wpa_supplicant_8/src/p2p/p2p_go_neg.c文件  这里主要介绍2个方法 1. p2p_connect_send接受来自 p2p.c 文件中调用p2p_connect方法发送的GON Request帧 2. p2p_process_go_neg_resp处理来自GON Response帧的处理流程 先看下p2p_connect_send方法

    2024年02月14日
    浏览(56)
  • Wifi 认证,关联,四次握手(WPA/WPA2/WPA3-SAE)

    WPA3-SAE也是针对四次握手的协议。 四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥。 这个过程发生在 WIFI 连接 的 过程。 为了更好的阐述 WPA3-SAE 的作用 和 凸显其优点。我们需要借助 WPA2-psk 来做对比。 先来简单阐述一下

    2023年04月10日
    浏览(37)
  • 从WiFI渗透攻击到WPA3

      WiFi从发明到现在已经融入到生活的每个方面,在这个互联网发达的时代,无线网络遍布每个角落。而提供给人们方便的同时也隐藏着安全问题,我们通过了解WLAN的一种技术———Wi-Fi(Wireless-Fidelity),测试其中存在的安全问题,同时也解决WiFi的隐藏问题。 提示:以下

    2024年02月05日
    浏览(36)
  • adb wifi 远程调试 安卓手机 命令

    使用adb wifi 模式调试需要满足以下前提条件: 手机 和 PC 需要在同一局域网下。 手机需要开启开发者模式,然后打开 USB 调试模式。 具体操作步骤如下: 将安卓手机通过 USB 线连接到 PC。(连接的时候,会弹出请求,同意就可以) 在 PC 的命令行窗口中输入下面命令查看安卓

    2024年01月16日
    浏览(54)
  • 无线WiFi安全渗透与攻防(十三)之WPA破解-windows下GPU跑包加速

    实现GPU加速的前提条件: 英伟达公司 设计的 计算统一设备架构 AMD 设计的 流开放计算库 openCL 通过这两个技术,可以让显卡帮我们进行计算渗透 一个非常不错的网络网络破解工具,可以直接破解握手包,xp系统下速度非常快。EWSA全称Elcomsoft Wireless Security Auditor。号称可以利

    2024年02月16日
    浏览(45)
  • ARM Linux DIY(四)WiFi 调试

    换个粗点的风枪嘴,让热风覆盖 RTL8823BS 整体模块,最终实现自动归位 焊接 SDIO 接口的上拉电阻以及复位引脚上拉电阻 硬件部分就这么多比较简单,接下来是软件部分 搜索 RTL8723BS RTL8723BS 默认关闭,不过要使能该驱动之前,需要先使能 WLAN 和 CFG80211 搜索 WLAN 使能 WLAN 搜索

    2024年02月07日
    浏览(35)
  • 嵌入式Linux&Android开发-WiFi&BT SDIO调试

    目录   一、基本概念 WiFi STA 模式 和 AP 模式 SDIO(Secure Digital I/O) SDIO-WiFi 模块 二、项目中WiFi说明 三、rockchip WiFi启动流程简介 WiFi应用部分 wpa_supplicant 四、RK WiFi驱动移植流程 4.1 BSP已支持WiFi 4.2 BSP未支持WiFi 五、排查流程 5.1 检查DTS 5.2 排查DTS对应的GPIO设置 5.3检查电压电平

    2023年04月08日
    浏览(73)
  • rk3568_linux5.10 调试6275p pcie wifi

    a : config 部分必须选择 Device Drivers --- Network device support --- Wireless LAN --- Rockchip Wireless LAN support --- [*] build wifi ko modules [*] Broadcom Wireless Device Driver Support --- 选择好路径: (/system/etc/firmware/fw_bcm43752a2_pcie_ag.bin) Firmware path (/system/etc/firmware/nvram_ap6275p.txt) NVRAM path Enable Chip Interface (

    2024年02月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包