问题标签 [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 投票
1 回答
33 浏览

networking - 可以在 netflow 数据导出中识别路由器/服务器/客户端吗?

我正在写一篇关于网络流量模式识别的论文。输入文件包含数以千计的数据行,每行都提供时间戳、源和目标 IP 地址、源和目标端口、接口、字节数以及在源和目标之间交换的数据包以及协议等信息。数据线中的开始时间和结束时间总是相同的。

我的问题是是否可以仅根据提供的信息将所有 IP 地址分配给路由器/服务器/客户端等类别,或者是否还有其他必要信息才能正确分配所有地址?(使用的端口大约是 100-150 并且都已注册和未注册)。

谢谢!

0 投票
1 回答
648 浏览

csv - 请问有人在csv文件中使用nfdump有Netflow数据吗?

  • 我使用 tcpdump 收集了数据,但我想要来自 nfdump 的数据作为 csv 文件。


0 投票
1 回答
386 浏览

gcc - 执行步骤“configure && make && make install”时出现很多错误

我试图通过克隆git repo并执行步骤“./configure && make && make install”在我的 ubuntu14 机器上安装 f2k。但是,我收到很多“没有这样的头文件错误”。请在执行该步骤后得到的代码段下方找到。还有其他错误,我通过删除一些依赖包来删除。但是,对于以下错误,我找不到任何合适的解决方案。

root@ubuntu:/home/devops/f2k# ./configure
检查操作系统或发行版...好的(Ubuntu)
从 CC 环境检查 C 编译器...
检查 gcc 失败(通过命令)...好的
检查可执行文件ld... 确定
检查可执行文件 nm... 确定
检查可执行文件 objdump... 确定
检查可执行文件条... 确定
检查 pkgconfig(通过命令)... 确定
检查安装(通过命令)... 确定
检查__atomic_32(通过编译)...正常
检查 __atomic_64(通过编译)...正常
检查套接字(通过编译)...正常
检查 librd(通过 pkg-config)...
检查 librd 失败(通过编译)...失败(失败)
检查 pcap(通过 pkg-config)...
检查 pcap 失败(通过编译)...失败(失败)
检查 librdkafka(通过 pkg-config)...
检查 librdkafka 失败(通过编译)...正常
检查 rb_mac_vendor(通过 pkg-config)...
检查 rb_mac_vendor 失败(通过编译)...失败(失败)
检查 geoip(通过 pkg-config)...确定
检查 zookeeper(通过 pkg-config) ...
检查zookeeper失败(通过编译)...正常
检查udns(通过pkg-config)...
检查udns失败(通过编译)...失败(失败)
检查HAVE_JSON(通过pkg-config )...
检查 HAVE_JSON 失败(通过编译)... 好的
检查 optreset(通过编译)...失败(禁用)
检查 pthread(通过 pkg-config)...失败
检查 pthread(通过编译)...确定
检查 pthread_setaffinity_np(通过编译)...失败(禁用)
检查 sin6_len(通过编译)...失败(禁用)
检查 netfilter(通过 pkg-config)...失败
检查 netfilter(通过编译)...失败(禁用)
检查 sctp(通过编译) ...失败(禁用)
检查 pcap_next_ex(通过编译)...失败(禁用)
检查 pf_ring(通过 pkg-config)...失败
检查 pf_ring(通过编译)...失败(禁用)
librd( )
模块:f2k
动作:失败
原因:
编译检查失败:
CC:CC
标志:-lrd -lpthread -lz -lrt
gcc -Wno-missing-field-initializers -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -O2 -g -Wcast-qual -Wunused -Wextra -Wdisabled-optimization -Wshadow -Wmissing-declarations -Wundef -Wswitch-default -Wmissing-include-dirs -Wstrict-overflow=5 -Winit-self -Wlogical-op -Wcast-align -Wdisabled-optimization -DNDEBUG -D_GNU_SOURCE -DFORTIFY_SOURCE=2 -Wall -Werror -lrd -lpthread -lz -lrt _mkltmp8AkgWk.c -o _mkltmp8AkgWk.co:_mkltmp8AkgWk.c:1:22
:致命错误:librd/rd.h:没有这样的文件或目录
#包括
^
编译终止。
来源:#include
pcap ()
模块:f2k
操作:失败
原因:
编译检查失败:
CC:CC
标志:-lpcap
gcc -Wno-missing-field-initializers -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -O2 -g -Wcast-qual -Wunused - Wextra -Wdisabled-optimization -Wshadow -Wmissing-declarations -Wundef -Wswitch-default -Wmissing-include-dirs -Wstrict-overflow=5 -Winit-self -Wlogical-op -Wcast-align -Wdisabled-optimization -DNDEBUG -D_GNU_SOURCE - DFORTIFY_SOURCE=2 -Wall -Werror -lpcap _mkltmpDRRB09.c -o _mkltmpDRRB09.co :
/usr/bin/ld: 找不到 -lpcap
collect2: 错误: ld 返回 1 退出状态
源:
rb_mac_vendor (HAVE_RB_MAC_VENDORS)
模块: f2k
动作: 失败
原因:
编译检查失败:CC:CC 标志:-lrb_mac_vendors gcc -Wno-missing-field-initializers -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -O2 -g -Wcast-qual -Wunused -Wextra -Wdisabled-optimization -Wshadow -Wmissing-declarations -Wundef -Wswitch-default -Wmissing-include-dirs -Wstrict-overflow=5 -Winit-self -Wlogical-op -Wcast-align -Wdisabled-optimization -DNDEBUG -D_GNU_SOURCE -DFORTIFY_SOURCE=2 -Wall -Werror -lrb_mac_vendors _mkltmpmtvaLo.c -o _mkltmpmtvaLo.co:_mkltmpmtvaLo.c:1:28
:致命错误:rb_mac_vendors.h:没有这样的文件或目录
#include
编译终止。
来源:#include
udns (HAVE_UDNS)
模块:f2k
操作:失败
原因:
编译检查失败:
CC:CC
标志:-ludns
gcc -I/usr/include/ -Wno-missing-field-initializers -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -O2 -g -Wcast-qual -Wunused -Wextra - Wdisabled-优化 -Wshadow -Wmissing-declarations -Wundef -Wswitch-default -Wmissing-include-dirs -Wstrict-overflow=5 -Winit-self -Wlogical-op -Wcast-align -Wdisabled-optimization -DNDEBUG -D_GNU_SOURCE -DFORTIFY_SOURCE= 2 -Wall -Werror -ludns _mkltmpNkVGfP.c -o _mkltmpNkVGfP.co:/tmp/ccA5w4FZ.o
:在函数dns_init'collect2 :错误:ld 返回 1 退出状态 源:#include void *f();void *f( ){返回 dns_init;} f':
/home/devops/f2k/_mkltmpNkVGfP.c:2: undefined reference to



0 投票
0 回答
288 浏览

netflow - 如何将原始 Netflow 数据解析/解码为 Java 中的文本?

我想在 Java 中将原始 Netflow 流量数据转换为人类可读的格式。有没有人知道如何实现这一目标。

0 投票
1 回答
27 浏览

tcp - 收到的网络元组中的 bcount 是什么

我正在尝试分析从 fprobe 收到的网络流量。我收到的样本元组是这样的 -

{
"bcount": 52,
"protocol": 6,
"Timestamp": "2017-11-15 12:07:20.049+0530",
"etime": 1048514968,
"daddr": "172.24.24.60",
"tag “:“netflow_data”,
“pcount”:1,
“saddr”:“172.24.24.62”,
“dport”:53345,
“sport”:8775,
“stime”:1048514968
}

我能够弄清楚其余文件的含义,除了bcount. 我用谷歌搜索但无法得到正确的答案。我搜索后得到的是 bcount 可能代表块数或字节数。有谁知道它到底是什么以及它的意义是什么?

0 投票
1 回答
1289 浏览

python - 将 UDP 数据包解码为 Netflow

我遇到了 Wiresharkdecode as功能,我可以在其中解码 UDP 数据包CFLOW以获取我的 Netflow 数据。

是否可以编写一个脚本来解码 UDP 数据包并获取 Netflow 数据?

目前我正在使用 python3-scapy 进行尝试。我在哪里嗅探接口并仅检索 UDP 数据包。我现在被困住了,因为我不知道下一步该怎么做。

注意:我的重点是 Netflow 版本 9

下面是我的代码:

0 投票
1 回答
2138 浏览

netflow - Nfdump nfcapd 文件 - 二进制到 csv 文件的转换

给定在 nfdump nfcapd.2017中生成的 nfcapd 文件,该文件采用默认二进制格式

如何使用 nfdump 以 csv 格式创建此文件的版本?

我尝试使用nfdump -r nfcapd.2017 -w newfile -o csv但这似乎不起作用

0 投票
1 回答
684 浏览

networking - netflow 记录是否等于会话?

因为我不太了解网络中的会话定义,所以我有一个困惑,即 netflow 记录是否等于会话?如果我一次通过 FTP 将一些文件上传到服务器,并产生 50
条 netflow 记录(源 IP 和目标 IP 相同,但端口不同)。进程等于 50 个会话,还是服务器关闭连接后的进程仅等于 1 个会话?

比如这张照片: 在此处输入图像描述

多谢 :)

0 投票
1 回答
973 浏览

elasticsearch - Logstash Netflow 模块正在侦听,但不读取数据包

带有 netflow 模块的 Logstash 6.2.4

弹性搜索版本:6.2.4

Ubuntu 16.04 LTS

我有一个问题,logstash 正在侦听正确的端口,但似乎没有收集 netflow 数据并将其传递给 elasticsearch。

我们网络中的路由器正在将其 netflow 数据发送到服务器 A,而 nfcap 正在侦听端口 9995,因此尝试使用服务器 A 上的 netflow 模块运行 logstash 会导致地址正在使用错误。所以,我使用 iptables 复制数据包并将它们转发到不同的服务器,服务器 B,就像这样。

使用 tcpdump 检查,我可以看到服务器 B 接收到的重复数据包,以及服务器 A 的 IP 地址。输出如下,但出于安全原因,我已经编辑了 IP 地址。

所以,我知道服务器 B 正在端口 9995 上接收数据包。使用 netstat 检查也显示了这一点。

logstash.yml 如下

检查 /var/log/logstash/logstash-plain.log,我看到的唯一警告是关于 elasticsearch 的版本大于版本 6,因此不会使用 type 来确定文档类型。

ElasticSearch 正在运行并且正在从 packetbeat 和 filebeat 接收数据,/var/log/elasticsearch/elasticsearch.log 中没有任何内容可以提示 elasticsearch 的任何错误。但是,elasticsearch 没有用于 netflow 的索引模式。另一方面,Kibana 确实如此。

因此,服务器 B 上的 logstash 正在侦听 0.0.0.0:9995,端口 9995 已打开并接收来自服务器 A 的数据包,但 logstash 无法识别这些数据包。我的假设是服务器 B 忽略它们,因为目标 IP 地址是服务器 A 的 IP 地址。这听起来对吗?如果是这样,这附近有吗?

有没有更好的方法将重复的数据包从服务器 A 转发到服务器 B 并让 logstash 读取它们?

不幸的是,无法将另一个 netflow 导出器目标添加到路由器配置中。

0 投票
1 回答
1998 浏览

python - 在 Python 中将原始 Netflow 数据解码为人类可读的文本

我设法收集了一些原始 Netflow 数据,并使用 scapy 将我的数据包解码为 Netflow 版本 9。但是,我被卡住了,无法继续将字段值转换为人类可读的文本。下面的代码是我如何使用 scapy 查看数据:

这是我得到的输出:

在此处输入图像描述