3

我有一个程序可以嗅探网络数据并使用 pcapy 将其存储在数据库中(基于this)。我需要通过网络连接实时提供数据。

现在,当我运行程序时,它将在主线程上为嗅探器和 Twisted 服务器启动第二个线程,但是我不知道如何让客户端“接入”在后台运行的嗅探器。

最终结果应该是客户端输入一个 url 并且连接将保持打开状态,直到客户端断开连接(即使没有要发送的内容),只要服务器有网络活动,嗅探器就会嗅探它并将其发送给客户端。

我是 Python 的初学者,所以我非常不知所措,所以如果有人能指出我正确的方向,我将不胜感激。

4

1 回答 1

1

如果没有更多信息(可能是一个无法按预期工作的简单代码示例),很难给出全面的答案。

但是,这里有两个指针可能会对您有所帮助:

  • Twisted Pair,一个(不幸的是,非常基本且文档很少)Twisted 本身内部的低级/原始套接字网络库,它可能能够以对 Twisted 友好的方式直接实现数据包捕获,或者
  • 最近发布的钩针,它将允许您管理后台 Twisted 线程及其与基于 pcapy 的捕获代码的交互。
于 2013-11-05T18:24:23.053 回答