我对"NetFlow“的定义有点困惑。NetFlow是否声明、交换两个IPv4地址之间的全部数据包,而不考虑网络端口,还是描述数据包的报头(源IP、Dest IP、源端口、Dest端口、协议、时间信息、TCP标志、字节信息、数据包信息、ICMP信息)?
发布于 2016-09-29 01:45:01
NetFlow作为一个术语现在包含了几种不同的方法,这要归功于可扩展字段,但基本上是这样的: NetFlow记录是IP协议号C上从主机A发送到主机B的字节和数据包的定期汇总,以及(酌情)从主机A上的端口D发送到主机B上的端口E的信息。
一个具体的例子可能会有所帮助。假设我从192.168.0.10到192.168.0.11开始SSH会话。本地操作系统为我分配了短暂的TCP端口50000,当然,我正在连接到端口22。
定期(例如,每分钟一次),我的路由器将发送包含两个更新的NetFlow数据报。一个包含从192.168.0.10:50000到192.168.0.11:22发送的八进制和数据包数量的时间戳计数,另一个包含从192.168.0.11:22到192.168.0.1:50000发送的八字节和数据包的计数。可能还有其他信息,如所使用的TCP标志、QoS、VLAN编号和其他项。一些路由器还将检查有效负载以确定正在使用的应用程序,或者提取URL或用户名。这些信息被放入额外的字段中,并且通常不会生成全新的NetFlow记录。
如果我打开同一个主机之间的第二个连接,比如端口80,或者另一个连接到端口22,那么我将得到该连接的单独更新,因为我将被分配到新的源端口。因此,如果我有两个SSH连接,一个来自端口50000,另一个来自端口50001,那么NetFlow将区分这些连接,我将得到两组更新。如果打开了20个连接,那么根据所涉及的端口和主机,我将得到20对NetFlow更新(每个方向一对)。
因此,要更直接地回答您的问题:它在报告时确实考虑到了头信息,这样报告就不会与所使用的端口无关。但是,正如另一位评论者所说,它不一定仅限于标题信息。
https://serverfault.com/questions/805941
复制相似问题