3

我正在将 TCP/IP 数据包分解为字符串格式。构建和存储它的最佳方式是什么?我应该将它存储为 ctypes 结构、python 类、字典还是其他方式?每种方法的优缺点是什么?

4

3 回答 3

8

你应该使用一个类。它为您提供了未来发展的最大灵活性。

字典有更冗长的语法来访问其内容,并且不允许您在需要时添加方法。

ctypes 真正用于访问打包以在其他 API 中使用的结构。如果您的数据将保留在 Python 中,唯一的好处是它会在内存中更加紧凑。

于 2011-02-11T03:15:22.563 回答
1

我是这样的字典的忠实粉丝,因为

  1. 你可以做这样的事情 thisPacket['srcPort']
  2. 然后,您可以将您的数据包推入 MongoDB 之类的东西中,然后以很酷的方式查询它们(即给我每个进入端口 80 的数据包,并且来自具有特定标志集的某个子网)
于 2011-02-11T03:54:12.593 回答
1

我非常喜欢详细的要求。

缺少这些,我会选择一个命名元组。

你可以做类似的事情thisPacket.srcPort

然后,您可以将数据包推入 MongoDB 之类的东西中,然后以很酷的方式查询它们

于 2011-02-11T11:22:22.247 回答