0

wlan1我们有几个使用with创建接入点的设备hostapd。问题是它们都带有相同的 MAC 地址wlan1,这意味着所有设备都具有相同的 BSSID,因此当我们在范围内有多个设备时,我们无法连接到其中的任何一个。我们尝试了多种方式更改 BSSID,它们都对输出HWaddr中显示的内容产生影响ifconfig,但是当我们从客户端扫描网络时,我们看不到这种变化,但所有的原始 BSSID设备。

我们可以看到该wlan1接口的 MAC 地址存储在 中/sys/class/net/wlan1/address,这是一个只读文件,内容为:02:03:7f:d7:00:01,这是我们看到的所有设备的 BSSID。

那么问题是我们如何更改 AP 的 BSSID,以便我们可以看到对客户端的影响,从而导致具有不同 BSSID 的不同网络,以便我们可以在它们都在范围内时建立与不同设备的连接?

我们尝试更改 BSSID 的事情

使用 hostapd 配置文件

/etc/hostapd_wlan1.conf

ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
interface=wlan1
driver=nl80211

# WPA2-AES encryption
bssid=DC:EC:BE:91:EA:F1
ssid=ap-wlan1-ccee
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=password-wpa2aes

# IEEE 802.11ac
hw_mode=a
channel=36
ieee80211ac=1
ieee80211n=1

哪个是/usr/sbin/hostapd /etc/hostapd_wlan1.conf使用运行的SysVinit

ifconfig 重启后的输出

wlan1   Link encap:Ethernet  HWaddr DC:EC:BE:91:EA:F1
        inet addr:192.168.46.30  Bcast:192.168.46.255  Mask:255.255.255.0
        inet6 addr: fe80::deec:beff:fe91:eaf1%lo/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:1016 errors:0 dropped:0 overruns:0 frame:0
        TX packets:977 errors:0 dropped:7 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:134304 (131.1 KiB)  TX bytes:135467 (132.2 KiB)

使用 ip 命令

ip link set wlan1 down
ip link set dev wlan1 address DC:EC:BE:91:EA:F1
ip link set wlan1 up

ifconfig 输出

wlan1   Link encap:Ethernet  HWaddr DC:EC:BE:91:EA:F1
        inet addr:192.168.46.30  Bcast:192.168.46.255  Mask:255.255.255.0
        inet6 addr: fe80::deec:beff:fe91:eaf1%lo/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:1016 errors:0 dropped:0 overruns:0 frame:0
        TX packets:977 errors:0 dropped:7 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:134304 (131.1 KiB)  TX bytes:135467 (132.2 KiB)

任何情况下的 WirelessNetView 结果

在此处输入图像描述

4

1 回答 1

0

更改 .conf 是没用的,因为每次重新启动时,都会有一个新的 conf 替换它。

/lib/netifd/wireless/mac80211.sh 

mac80211_prepare_vif()

尝试更改$macaddr这是最终的 bssid。

希望它会有所帮助。

于 2018-12-04T02:16:21.780 回答