Python 如何在转发前进行深度数据包检查

Python 如何在转发前进行深度数据包检查,python,sockets,ubuntu,networking,nat,Python,Sockets,Ubuntu,Networking,Nat,我需要对进入ubuntu服务器的所有数据包执行dpi任务,然后将它们转发到本地网络中的目的地。服务器是本地网络的网关和NAT机器 我正在编写应用程序,我不知道如何处理每个数据包,然后转发它们。如果我理解得很好,你需要创建一个程序来捕获(来自实时或传递的pcap)数据包,执行DPI,然后根据应用程序协议对其进行分类,不是吗 首先,我建议你阅读 然后,您可以使用许多Python库: 依我看,这取决于您需要在什么级别上具有细粒度。 也许您正在寻找接近模块的东西。您可以使用nfstream pyt

我需要对进入ubuntu服务器的所有数据包执行dpi任务,然后将它们转发到本地网络中的目的地。服务器是本地网络的网关和NAT机器


我正在编写应用程序,我不知道如何处理每个数据包,然后转发它们。

如果我理解得很好,你需要创建一个程序来捕获(来自实时或传递的pcap)数据包,执行DPI,然后根据应用程序协议对其进行分类,不是吗

首先,我建议你阅读

然后,您可以使用许多Python库:

  • 依我看,这取决于您需要在什么级别上具有细粒度。
    也许您正在寻找接近模块的东西。

    您可以使用nfstream python包

    从nfstream导入NFStreamer
    my_awesome_streamer=NFStreamer(source=“facebook.pcap”)#或网络接口(source=“eth0”)
    对于my_awesome_拖缆中的流量:
    打印(流)#打印它,附加到熊猫数据框或任何你想要的:)!
    
    请检查此链接。