【问题标题】:Improving packet sniffing/monitoring on raspberry pi改进树莓派上的数据包嗅探/监控
【发布时间】:2019-09-03 22:04:39
【问题描述】:

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

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

这是一个捕获我的探测请求的示例 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% 或更多。关于为什么会这样的任何想法?

【问题讨论】:

    标签: python raspberry-pi3 tshark pyshark


    【解决方案1】:

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

    从物理接口捕获时,tshark 是 dumpcap 的包装器。在这种模式下,tshark 体验到的是higher loss 而不是 dumpcap。

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

    802.11 流量嘈杂

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

    【讨论】:

    • 感谢您的回答……这很有帮助。我已经运行了一些其他测试,但在相同的 Raspberry Pi 甚至运行的 dumpcap 中捕获的数据包数量仍然存在相当大的变化。至少有 20% 的变化……有时是 50%。 (换句话说,一个树莓派可能在一小时内捕获 5,000 个探测请求,而另一个相同的树莓派可能捕获 7500 个)。这一切都归因于 802.11 流量嘈杂吗?还是可能有其他事情发生?
    • 是的,802.11 预计会有噪音。
    • 好的。这就说得通了。但是,出于某种原因,我的 5 个树莓派中有 1 个似乎比其他的多捕获了近 50% 的探测。其他 4 个似乎有 10-20% 的差异。方式更常见。然而,一个树莓派的硬件和软件与其他树莓派相同。可能还有其他我想念的东西吗?我不知道的自动发生的操作系统调整?硬件中有什么我没有想到的不同(除了固件)?
    • 是的,你走错了路。 根据定义,相邻设备之间的 802.11 捕获将具有不同的流量。如果您想了解更多关于 802.11 的信息,CWNA 学习指南是一个很好的资源(您可以在亚马逊上找到它)。如果这回答了您的问题,请将其标记为这样。
    • 所以,我不是 802.11 专家,因此学习指南会说很多,但我很难找出与这种情况相关的内容。你能帮我提供一个大致的想法,为什么两个相邻的设备只嗅探请求没有非常相似的数据?
    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多