0

我有几个树莓派,它们都是相同的模型,具有相同的 raspbian 版本并运行相同的代码,我只是使用 pyshark 来嗅探探测请求并将它们记录到日志文件中。我可以让 5 个相同的树莓派在完全相同的区域运行相同的代码嗅探探测请求,并且在 2 小时内捕获的探测请求数量至少会有 20% 的差异。有时高于 20% 的差异。他们不应该更相似吗?

我查看了 CPU 使用情况,它没有使一个或多个内核超载。有大量可用的 RAM。我唯一能想到的是,随着时间的推移,raspbian 运行各种与操作系统相关的“调整”,并且一些树莓派的“配置自己”比其他的更好?(这可能吗?覆盆子 pi 是否有运行微调自身的系统事件?)

这是一个捕获我的探测请求的示例 tshark 命令:

sudo nice -n -15 stdbuf -oL tshark -i wlan1 -I -f 'wlan type mgt subtype probe-req' -Y 'wlan.sa[0:3] ne b8:27:eb && radiotap.dbm_antsignal gt -73' -T fields -e frame.time_epoch -e wlan.sa -e radiotap.dbm_antsignal -E header=y -E separator=, -E quote=d -E occurrence=f >> ../data-test/tsharkoutput.txt

我希望如果 CPU 或 RAM 没有被挖掘出来,运行相同命令的不同树莓派应该捕获非常接近相同数量的数据包,但它们会相差 20% 或更多。关于为什么会这样的任何想法?

4

1 回答 1

0

不要使用 tshark(或依赖它的库)

从物理接口捕获时,tshark 是 dumpcap 的包装器。在这种模式下,tshark的损失比 dumpcap 高。

您应该改用 dumpcap 或 tcpdump。如果您想避免使用 tshark,您将需要使用PyShark以外的库。

802.11 流量嘈杂

在单独的说明中,802.11 流量根据定义是嘈杂的并且容易丢失,因此在不同的捕获设备上看到不同的数据包是预期的行为。

于 2019-09-19T01:34:58.773 回答