1

我正在开发一个导入和导出净流量数据的程序。由于我们的通用架构,用 XML 描述这些信息是有意义的。是否存在用于描述净流量数据的 XML?

可以在这篇 Usenix 论文http://www.usenix.org/events/lisa00/full_papers/navarro/navarro_html/中找到对 NetFlow 数据的良好描述

根据论文,描述净流量数据的 SQL 模式是:

create table netflows (
   router_id  char(1)            not null,
   src_ipn    bigint    unsigned not null,
   dst_ipn    bigint    unsigned not null,
   nxt_ipn    bigint    unsigned not null,
   ifin       smallint  unsigned not null,
   ifout      smallint  unsigned not null,
   packets    integer   unsigned not null,
   octets     integer   unsigned not null,
   starttime  timestamp          not null,
   endtime    timestamp          not null,
   srcport    smallint  unsigned not null,
   dstport    smallint  unsigned not null,
   tcp        tinyint   unsigned not null,
   prot       tinyint   unsigned not null,
   tos        tinyint   unsigned not null,
   srcas      smallint  unsigned not null,
   dstas      smallint  unsigned not null,
   srcmask    tinyint   unsigned not null,
   dstmask    tinyint   unsigned not null
)

将其转换为 XML 模式非常容易。我的兴趣是知道是否有人已经这样做了,因为我不想创建一个新的、不兼容的模式。

谢谢。

4

2 回答 2

1

我一直在寻找同样的东西,如果我记得清楚的话,我最终使用了 NFDump 包中包含的Parse CVS Perl 插件。这个特定的脚本将 NetFlow cvs 输出转换为可读格式,但如果您进行一些修改,它也可以创建一个 XML(您可以用很少的代码行来完成)。我建议你这样做,因为它已经为每个领域提供了某种官方名称。但是,它没有描述这些字段的类型,也没有描述实际的 XML 结构。

于 2012-04-05T15:01:22.467 回答
0

不,没有标准架构。但是,我们已经创建了一个并将其放入开源的tcpflow程序中。当 tcpflow 运行时,它可以创建一个包含所有 netflow 数据的 XML 文件。但是,它还解码嵌入的对象,例如 HTTP 发送的数据,报告每个对象,解压缩压缩的内容,甚至计算所有内容的 MD5。多合一易于使用的命令行程序。

于 2013-09-11T02:20:36.957 回答