我怎样才能发送tcpdump输出到数据库?

我有一个访问点运行openWRT v12.09与tcpdump安装。 在服务器上,我有node.js与couchdb运行。 我想将tcpdump的输出写入到couchdb中。 这是我在黑暗中的一个地方。 我无法弄清楚如何使openWRT / tcpdump与node.js / couchdb之间的连接。

我读pipe道的方式是让一方读取数据,另一方存储数据。 这将是目标,因为接入点的存储容量是有限的。 我想将tcpdump的输出转换成JSON,这可能吗? 所以很容易读取和存储在数据库中。

我读了一下,openVPN,pipe道,nodecat,并尝试了一堆东西,但我需要一些援助,谢谢。

为什么不使用简单的HTTP协议? 这正是它发明的原因 – 移动networking资源。

在接入点上安装轻量级的HTTP服务器,如果您还没有。 例如, boa是非常轻量级的单任务HTTP服务器,对于这个目的来说可能已经足够了。

然后,只是:

  • 让tcpdump将文件存储在接入点的服务器目录树中
  • 在服务器上使用node.js的HTTP模块下载文件
  • 将其存储在数据库中。

而已。 没有必要也不是一个好主意,将您的二进制数据转换成JSON!