问题标签 [netflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3656 浏览

c++ - 是否有开源的 netflow 收集器 C++ 库集?

我正在寻找一个 C++ 库集来在 Linux 中开发我自己的 C++ 守护程序以收集 NetFlow 信息。有谁知道可用的开源软件或库集?

非常感谢

0 投票
2 回答
20181 浏览

linux - Converting a PCAP trace to NetFlow format

I would like to convert some PCAP traces to Netflow format for further analysis with netflow tools. Is there any way to do that?

Specifically, I want to use "flow-export" tool in order to extract some fields of interest from a netflow trace as follows:

In this case, the mynetflow.trace file is taken by converting a PCAP file using the following commands:

This, generates a netflow trace but it cannot be used by flow-export correctly, since it is not in the right format. I tried also to pipe the output of the following command to flow-export as follows:

but the output of the first command generated zero timestamps.

Any ideas?

0 投票
2 回答
468 浏览

xml - 是否有用于描述网络流量数据的 XML 模式?

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

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

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

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

谢谢。

0 投票
2 回答
322 浏览

statistics - 来自 netflow 的数据包配置文件

我每 5 分钟就有上个月的文件中的 netflow 数据,我想做一个所有这些流量的数据包配置文件。我需要 1 个数据包流、2 个数据包流等的百分比表示。可以在 1 个数据包流、1-100 个数据包流、100 个等类别中进行操作……这并不重要。但我的问题是如何做到这一点。如何对我无法加在一起的数据进行百分比表示?像为每个文件做百分比表示然后从中做某种类型的平均值之类的东西?

0 投票
2 回答
679 浏览

c++ - 如何在 C++ 程序中包含流工具?

在我们的 C++ 程序中,我们想要处理 NetFlow 数据。我们发现的唯一执行此操作的工具是flow-tools,我们已经安装并可以从命令行 (Linux) 完美运行。

flow-tools 是用 c 编写的,因此我们认为可以将它用作 c++ 程序中的库,但我们不知道如何做到这一点。

flow-tools 的 gzip文件ftp://ftp.eng.oar.net/pub/flow-tools/flow-tools-0.66.tar.gz包含文件的 c 源代码,依赖项位于lib 文件夹。

是否有可能做到这一点,以及如何做到这一点?是否有流工具的替代品?

0 投票
1 回答
1057 浏览

python - netflow v9 中的字段 ID 不正确

在分析 Netflow V9 时,我能够正确获取大多数字段 id 及其值,如

http://www.iana.org/assignments/ipfix/ipfix.xml

但我得到 40000 ,40001, 40002, ... 而不是 224, 225, 226, ... 对于 NAT 文件,但是我检索到的每个字段的值都是正确的。

我确信所有字段的 id 和 value 都正确获得。我不知道真正的问题是什么。我尝试将主机转换为网络字节,反之亦然

PS我使用cisco路由器进行netflow v9。

0 投票
1 回答
901 浏览

network-programming - NETFLOW 数据包版本 5 将字节 24-27 转换为日期时间

我有一个计划从 C# 应用程序中的 mikrotik 路由器收集 netflow 数据包(v5),我在数据包来的端口上打开一个 udp 侦听器并读取字节数组,我通过查看数据包格式caligare 拆分数据包字节数组。 com,因为数据包格式字节 24-27 是“流开始时的 SysUptime”,现在我想将此 4 字节转换为日期时间。

例如,这 4 个字节是 134、88、157、126 我该怎么做?

谢谢

0 投票
1 回答
684 浏览

tcp - nfdump 中的“流”到底是什么?我可以使用 nfdump 获得 tcp 会话吗?

我需要从我的网络接口中的数据包创建一些统计信息,但我只关心我的 tcp 会话。我想我可以用 nfdump 和 nfsen 做到这一点。因为我对这些东西不熟悉,所以我真的不明白 nfdump 定义为“流”的内容。

此外,我可以使用这些工具仅获取 tcp 协议会话的统计信息吗?我的意思是,例如,我需要在我的服务器中获得所有连接(srcip-srcport、dstip-dstport 对)的平均持续时间。出于这个原因,我需要 3WH 和每个连接关闭之间的时间(使用 [fin/ack,ack] 或使用 [rst])。nfdump-nfsen 有可能吗?

0 投票
1 回答
215 浏览

algorithm - 是否有一个完善的增量算法来维护在特定时间范围内累积的价值历史?

我实际上已经完成了一个,但想将我的与一个经过充分研究的可能的学术算法进行比较。可能有一个统计对象库,可以直接或组合解决我的特殊需求。

我的系统(我打算开源)有一个 NetFlow 数据流。与其存储在数据库中并使用 SQL 函数,我更喜欢拥有一个无数据库系统并维护一组统计信息,为每个新流更新,并每秒滚动(或更高)。

我的解决方案涉及单个 uint 数组,以有效地创建大小为 [60、59、23、6、...] 的锯齿状数组,代表秒、分钟、小时、天、周等。

每个插槽包含该时间的总字节数。因此,在 60 秒后,将创建一个单分钟统计信息作为 Avg(seconds)。当然,这在时间尺度上会持续相对较长。

不是简单地有数千秒的增量,而是由于:

  1. 内存限制和拥有更多统计节点的潜力;和
  2. 向用户理想的展示

...我卷起时间尺度。

鉴于一个流可能应用于统计层次结构中的多个节点(WAN 链接、IP 地址、目标地址、SourcePort-DestinationPort),我计算了一次增量(GenerateDelta),然后简单地应用于每个既活跃又活跃的节点与流元数据匹配。

在以下潜在情况下,将“滚动”给定节点上的统计信息:

  1. 被读取/显示时(通过 HTTP\JSON AJAX 请求)
  2. 应用增量时(由于相关流程)
  3. 只需每 n 秒(n 通常为 1)

总体而言,可能有一个完善的算法来保持随时间推移的运行总数(以秒、分钟......)。但如果做不到这一点,也可能有合适的算法来比较我的代码的较小子部分:

  • GenerateDelta - 不太可能,因为这专门用于分解和平均统计数组中插槽上的持续时间的流。
  • 滚动 - 如果只有几秒钟,那么这当然很简单,但是我的解决方案要求每 60 秒将 60 秒组合成一个新的分钟总数,依此类推。

我不希望响应者提出任何他们自己的算法,我已经(几乎)完成了我自己的所有算法,没有任何问题并且考虑了许多性能。当我完成并作为开源发布后,其他人可能会看到我的算法。

我希望看到的是任何“完善”的比较算法。也许我的会更好,也许我的会更糟。谷歌不擅长这类问题,我需要你的帮助。

谢谢!

0 投票
2 回答
400 浏览

c++ - C++,基于值输入从二维数组中选择

softflowd+nfdump用来创建 netflow 数据并将这些数据存储在二维(字符串)数组中

我正在用 C++ 编写。数组中的每一“行”代表一个流记录,47 是 nfdump 显示的 netflow 数据不同字段的数量。

我想在每个 IP 的基础上创建一些统计信息(例如,每个 IP 有多少连接流),但我不知道如何获得具有相同 IP 的那些行流(存储 srcip 的值在流[j][4] 中,我是 C++ 新手)。

提前致谢!