如何在转发之前进行深度包检测

时间:2016-09-05 06:42:07

标签: python sockets ubuntu networking nat

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

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

2 个答案:

答案 0 :(得分:2)

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

首先,我建议您阅读this

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

  1. Wireshark API
  2. Pcapy
  3. Scapy
  4. 恕我直言,这取决于你需要什么级别的细粒度。 也许您正在寻找接近dpkt模块的东西。

答案 1 :(得分:0)

您可以使用nfstream python软件包

   from nfstream import NFStreamer
   my_awesome_streamer = NFStreamer(source="facebook.pcap") # or network interface (source="eth0")
   for flow in my_awesome_streamer:
       print(flow)  # print it, append to pandas Dataframe or whatever you want :)!