Tom*_*z W 6 linux virtual wireless
我正在寻找一种在单个设备上设置纯虚拟(即没有实际信号)802.11网络的方法 - 用于测试目的,使我的功能类似于:
ap0
,ap1
..)
ssid
...)iw
?)wifi0
),即可
实际上,这是非常基本的,看看veth
司机如何工作ip link
给了我很多希望.
是否可以使用iw工具?如果是的话 - 我该怎么做?
如果不是,如果我需要实现这个,我通常会如何追究此事?通过创建一个提供数据的假wpa_supplicant驱动程序?
我很欣赏有关此事的任何提示和指示.
我试图遵循Stefano Cappa发布的提示,但没有运气.我的界面一直报告No valid interface combinations
哪些表明我应该被卡住(但不是).
虚拟WIFI可以借助于提升
radios
参数,指示虚拟物理卡的数量(phy#
).phy#
可以模拟独立的无线电卡.phy#
卡都有一个相关的lan接口(wlan#
).hwsim#
接口,可用于窥探所有无线电卡之间发生的伪wifi流量.hostapd
能够将任何无线电(包括模拟无线电)转换为接入点的工具,wpa_supplicant
可用于扫描接入点区域或连接到这些区域的工具.我最终想出了一个解决方案(花了我一段时间,因为我试图通过Android实现这一点),它只依赖于这三件事.这些工具将使用nl80211
驱动程序与伪硬件进行通信.
我的简单配置文件如下所示:
hostapd.conf(注意,此文件的设置多于所需的设置,但我在这里发布了所有设置)
interface=wlan1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface_group=0
ssid=Vamonos Pest
country_code=US
hw_mode=g
channel=1
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
的wpa_supplicant.conf
network={
ssid="Vamonos Pest"
key_mgmt=NONE
priority=16
}
Run Code Online (Sandbox Code Playgroud)
最后推出了两个:
hostapd -d hostapd.conf
wpa_supplicant -Dnl80211 -iwlan0 -d -csupplicant.conf
Run Code Online (Sandbox Code Playgroud)
这就是诀窍.wpa_supplicant
能够扫描网络区域并找到所有虚拟wifi接入点.如果hwsim模块使用更多的两个无线电,则可以创建更多.从这里开始,其余的很简单 - 在wlan1上启动dhcp服务器,在wlan0上启动dhcp客户端,然后就完成了.