我正在将 TCP/IP 数据包分解为字符串格式。构建和存储它的最佳方式是什么?我应该将它存储为 ctypes 结构、python 类、字典还是其他方式?每种方法的优缺点是什么?
问问题
619 次
3 回答
8
你应该使用一个类。它为您提供了未来发展的最大灵活性。
字典有更冗长的语法来访问其内容,并且不允许您在需要时添加方法。
ctypes 真正用于访问打包以在其他 API 中使用的结构。如果您的数据将保留在 Python 中,唯一的好处是它会在内存中更加紧凑。
于 2011-02-11T03:15:22.563 回答
1
我是这样的字典的忠实粉丝,因为
- 你可以做这样的事情 thisPacket['srcPort']
- 然后,您可以将您的数据包推入 MongoDB 之类的东西中,然后以很酷的方式查询它们(即给我每个进入端口 80 的数据包,并且来自具有特定标志集的某个子网)
于 2011-02-11T03:54:12.593 回答
1
我非常喜欢详细的要求。
缺少这些,我会选择一个命名元组。
你可以做类似的事情thisPacket.srcPort
。
然后,您可以将数据包推入 MongoDB 之类的东西中,然后以很酷的方式查询它们
于 2011-02-11T11:22:22.247 回答