【问题标题】:packet capture for real time integration用于实时集成的数据包捕获
【发布时间】:2021-11-29 02:06:57
【问题描述】:

我需要捕获数据包并使用数据进行实时集成。

数据包在两个不提供其他数据访问方式的旧系统之间流动。

使用 tcpdump 或 tshark 似乎很简单,但我无法找到一种简化的方法来将数据从捕获设备 (raspberry pi) 和管理集成的服务中获取。据我从文档中可以看出,tcpdump 和 tshark 只写入文件或控制台。

理想情况下,每个数据包中的数据将从捕获设备发送到远程 MQTT 主题。这将避免 tcpdump/tshark 固有的写入和文件解析。我知道我可以从文件中提取数据,但我希望消除该步骤。将被捕获​​的数据包流量很小(每秒最多一个数据包)。我是否错过了可以轻松做到这一点的东西?

【问题讨论】:

    标签: mqtt packet tcpdump tshark


    【解决方案1】:

    Tcpdump 和 wire/tshark 都使用 pcap (libpcap) 库来进行实际的数据包捕获并处理规则以决定保留哪些数据包。

    最好的办法是编写一个小型应用程序,使用它和一个 MQTT 客户端库来捕获和转发您想要的数据包

    【讨论】:

    • 感谢您的回复。然而,这正是我想要避免的。除了 libpcap,这两个工具都没有任何输出选项?还有没有其他更灵活的工具?对于这样的用例,似乎没有办法避免 I/O。
    • 在我所描述的内容中不会有磁盘 IO,您可以直接从 libpcap 读取并直接写入 MQTT,对于任何数量的 libpcap 和 MQTT 库的语言都有包装器,运行使用 node-pcap 之类的东西只需几分钟...
    猜你喜欢
    • 1970-01-01
    • 2014-03-27
    • 2018-07-14
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2010-11-17
    相关资源
    最近更新 更多