0

使用Mininet for Wifi的 Python API 我正在模拟一个 AP 和两个站点。AP 位于“0,0,0”,sta1 位于“0,10,0”。我在 '0,50,0' 到 '0,150,0' 的线上来回移动 sta2。另外,我在创建 Mininet 时配置了一个额外的无线电。然后在另一个窗口中,我将额外无线电的 wlan 接口置于监控模式,并使用 tcpdump/Wireshark 捕获 wifi 流量。

我期待看到 Radiotap 标头中的 RSSI 随着 sta2 在 50 到 150 米之间移动而变化。但我看到每个站的 RSSI 固定在 30 和 36dBm。我错过了什么,为什么 SSI 没有像我认为的那样改变?是因为 mac80211_hwsim 或 Mininet 本身的一些限制,还是我的期望不正确?

测试 Python 程序在这里,为 ping 捕获的 tcpdump/Wireshark 在这里。请注意,在捕获中,我已经过滤掉了信标以将检查的数据包保持在最低限度。鉴于较大的文件大小,我提供了指向您可以下载两个相关文件的位置的指针。

4

1 回答 1

1

尽管您可以通过 py staX.params['rssi'] 获取 rssi,但 mac80211_hwsim 仅在其公式中考虑了 power_level(或 tx 功率),正如您在https://github.com的第 1211 行中看到的那样/torvalds/linux/blob/master/drivers/net/wireless/mac80211_hwsim.c。这就是为什么信标中的 RSSI 不会改变的原因。

于 2016-11-23T15:31:24.457 回答