来源:https://tools.netsa.cert.org/yaf/yaf.html
输出(output):
1、基本流记录
yaf的输出由IPFIX消息流组成。yaf为IPFIX数据记录使用了各种模板;下面列出了这些模板中可能出现的信息元素。有关IPFIX信息模型和IPFIX消息流的更多信息,请参见RFC 5102、RFC 5101和RFC 5103。在yaf 2.0中,yaf将一些模板嵌套在IPFIX subTemplateMultiList中。为了保持与SiLK工具的兼容性,使用—SiLK防止yaf嵌套TCP信息元素。下面是yaf将导出的每个模板的描述。有关更多关于IPFIX列表的信息,请参阅IPFIX中结构化数据的Internet-Draft导出。
yaf根据标准IPFIX PEN 29305为双流捕获中的反向流元素分配信息元素号。这只适用于标准IPFIX信息模型(RFC 5102)中定义的信息元素,这些元素没有定义反向信息元素。对于CERT笔下定义的信息元素,使用标准方法计算它们的反向元素标识符。方法是将第14位设置为IE字段中的第1位(例如16384 + forward IE数字)。
(1)flowStartMillisecondsIE 152, 8 octets, unsigned
从1970-01-01 00:00:00 UTC开始的时间以毫秒为单位。永远存在的。
(2)flowEndMillisecondsIE 153, 8 octets, unsigned
自1970-01-01 00:00:00 UTC以来,流结束时间以毫秒为单位。永远存在的。
(3)octetTotalCountIE 85, 8 octets, unsigned
在正向流动的数据包中的八字节数。始终存在(除非——使用delta)。可使用IPFIX缩短长度编码以4个八位元编码。
(4)reverseOctetTotalCountReverse (PEN 29305) IE 85, 8 octets, unsigned
在反向流动的数据包中的八字节数。如果流体有反向方向,则呈现。可使用IPFIX缩短长度编码以4个八位元编码。
(5)packetTotalCountIE 86, 8 octets, unsigned
流量正向的数据包数。始终存在(除非——使用delta)。可使用IPFIX缩短长度编码以4个八位元编码。
(6)reversePacketTotalCountReverse (PEN 29305) IE 86, 8 octets, unsigned
反向流动的数据包数。如果流体有反向方向,则呈现。可使用IPFIX缩短长度编码以4个八位元编码。
(7)octetDeltaCountIE 1, 8 octets, unsigned
在正向流动的数据包中的八字节数。只有当——delta被使用时才会出现。可使用IPFIX缩短长度编码以4个八位元编码。
(8)reverseOctetDeltaCountReverse (PEN 29305) IE 1, 8 octets, unsigned
反向流动的八字节数。只有在——delta被使用和非零的情况下才会出现。可使用IPFIX缩短长度编码以4个八位元编码。
(9)packetDeltaCountIE 2, 8 octets, unsigned
流量正向的数据包数。只有当——delta被使用时才会出现。可使用IPFIX缩短长度编码以4个八位元编码。
(10)reversePacketDeltaCountReverse (PEN 29305) IE 2, 8 octets, unsigned
反向流动的数据包数。只有当使用非零时才会出现。可使用IPFIX缩短长度编码以4个八位元编码。
(11)reverseFlowDeltaMillisecondsCERT (PEN 6871) IE 21, 4 octets, unsigned
第一个正向数据包和第一个反向数据包之间的毫秒级差。与往返时间相关(但不一定代表)。如果流体有反向方向,则呈现。
(12)sourceIPv4AddressIE 8, 4 octets, unisigned
流源或双流启动器的IPv4地址。在没有ipv6映射地址的情况下为IPv4流提供。
(13)destinationIPv4AddressIE 12, 4 octets, unsigned
流源或双流应答器的IPv4地址。在没有ipv6映射地址的情况下为IPv4流提供。
(14)sourceIPv6AddressIE 27, 16 octets, unsigned
IPv6地址流源或双流启动器。只针对IPv6流或IPv6映射的IPv4流。
(15)destinationIPv6AddressIE 28, 16 octets, unsigned
IPv6地址流源或双流响应。仅针对IPv6流或IPv6映射IPv4流。
(16)sourceTransportPortIE 7, 2 octets, unsigned
在流源或双流启动器端点上的TCP或UDP端口。永远存在的。
(17)destinationTransportPortIE 11, 2 octets, usigned
在流目的地或双流响应端点上的TCP或UDP端口。永远存在的。对于ICMP流,包含ICMP类型* 256 + ICMP代码。这是非标准的,在yaf是一个公开的问题。
(18)flowAttributesCERT (PEN 6871) IE 40, 2 octets, unsigned
用于流的正向的其他流属性。始终存在(yaf 2.1或更高版本)。目前标志值:
位1:所有正向的数据包都有固定的大小
对于TCP流,只考虑具有有效负载的数据包(以避免TCP握手和断开)。
位2:正向的数据包被接收到序列外
第3位:主机可能具有MP_CAPABLE (MPTCP-capable)
对于TCP流,如果看到流中的包具有MP_CAPABLE TCP选项或尝试了MP_JOIN操作,就会设置这个位。
(19)reverseFlowAttributesCERT (PEN 6871) IE 16424, 2 octets, unsigned
用于流反向的其他流属性。始终存在(yaf 2.1或更高版本)。目前标志值:
位1:所有反向的数据包都有固定的大小
位2:反向的数据包被接收到序列外
第3位:主机可能具有MP_CAPABLE (MPTCP-capable)
对于TCP流,如果看到流中的包具有MP_CAPABLE TCP选项或尝试了MP_JOIN操作,就会设置这个位。
(20)protocolIdentifierIE 4, 1 octet, unsigned
流的IP协议。永远存在的。
(21)flowEndReason IE 136, 1 octet, unsigned
由IPFIX信息模型定义的流结束原因代码。永远存在的。在—silk模式中,如果流是通过continuation创建的,就会设置高阶位。
(22)silkAppLabel CERT (PEN 6871) IE 33, 2 octets, unsigned
应用程序标签,定义为与给定应用程序关联的主要已知端口。如果启用了应用程序标签,并能够确定流中使用的应用程序协议,则显示。
(23)vlanId IE 58, 2 octets, unsigned
在流的向前方向上的第一个包的第一个包的VLAN标记。
(24)reverseVlanId Reverse (PEN 29305) IE 58, 2 octets, unsigned
在流的反方向上的第一个包的第一个包的VLAN标记。如果流体有反向方向,则呈现。
(25)ingressInterface IE 10, 4 octets, unsigned
接收此流包的IP接口的索引。使用—ingress、—napatech-interface、—dagi -interface或使用bivio配置yaf,使该字段出现在流模板中。使用——ingress手动设置此字段。
(26)egressInterface IE 14, 4 octets, unsigned
接收此流包的IP接口的索引。使用—--egress、——napatech-interface、——dagi -interface或使用bivio配置yaf,使该字段出现在流模板中。如果使用napatech、dag或bivio, egressinterface将为物理接口| 0x100。使用 --egress手动设置此字段。
(27)ipClassOfService IE 5, 1 octet, unsigned
对于IPv4报文,这是IPv4报头中的TOS字段的值。对于IPv6数据包,这是IPv6报头中的流量类字段。
(28)reverseIpClassOfService Reverse (PEN 29305) IE 5, 1 octet, unsigned
IPv4报头中的TOS字段表示反向的数据包,IPv6报头中的Traffic Class字段表示反向的数据包。
(29)mplsTopLabelStackSection IE 70, 3 octets
MPLS标签从顶部的MPLS标签堆栈条目。yaf在导出字段中不包括实验位和堆栈位的底部。yaf一定是在MPLS支持下启用的,以支持该领域的出口。注意,这个字段在默认的libfixbuf信息模型中被定义为一个八位数组。yaf使用libfixbuf中的length override特性将其从可变长度重新定义为3字节。
(30)mplsLabelStackSection2, IE 71, 3 octets
MPLS标签来自MPLS标签栈入口紧接在顶部入口之前。yaf在导出字段中不包括实验位和堆栈位的底部。yaf一定是在MPLS支持下启用的,以支持该领域的出口。注意,这个字段在默认的libfixbuf信息模型中被定义为一个八位数组。yaf使用libfixbuf中的length override特性将其从可变长度重新定义为3字节。
(31)mplsLabelStackSection3, IE 72, 3 octets
来自MPLS标签栈中第三个条目的MPLS标签。yaf在导出字段中不包括实验位和堆栈位的底部。yaf一定是在MPLS支持下启用的,以支持该领域的出口。注意,这个字段在默认的libfixbuf信息模型中被定义为一个八位数组。yaf使用libfixbuf中的length override特性将其从可变长度重新定义为3字节。
(32)subTemplateMultiList IE 293, variable length
表示结构化数据类型的零或多个实例的列表,其中每个列表元素的数据类型可以是不同的,并且对应于不同的模板定义。在更新IPFIX list规范和libfixbuf版本时,信息元素号将发生更改。
2、流统计模板
yaf可以维护和导出比基本流模板中导出的更多关于每个流的信息。如果使用—flow-stats运行yaf,则只要下列特征之一不为零,yaf将在每个流中导出以下属性。下面的流属性可以帮助进行流量分类。
(1)dataByteCount CERT (PEN 6871) IE 502, 8 octets, unsigned
作为有效负载传输的总字节数。
(2)averageInterarrivalTime CERT (PEN 6871) IE 503, 8 octets, unsigned
数据包之间的平均毫秒数。
(3)standardDeviationInterarrivalTime CERT (PEN 6871) IE 504, 8 octets, unsigned
前10个数据包的到达时间的标准偏差。
(4)tcpUrgTotalCount IE 223, 4 octets, unsigned
设置了紧急标志的TCP包的数量。
(5)smallPacketCount CERT (PEN 6871) IE 500, 4 octets, unsigned
包含小于60字节有效负载的数据包数。
(6)nonEmptyPacketCount CERT (PEN 6871) IE 501, 4 octets, unsigned
包含至少1字节有效负载的数据包数。
(7)largePacketCount CERT (PEN 6871) IE 510, 4 octets, unsigned
包含至少220字节有效负载的数据包数。
(8)firstNonEmptyPacketSize CERT (PEN 6871) IE 505, 2 octets, unsigned
第一个非空数据包的有效负载长度。
(9)maxPacketSize CERT (PEN 6871) IE 506, 2 octets, unsigned
流量中传输的最大有效载荷长度。
(10)standardDeviationPayloadLength CERT (PEN 6871) IE 508, 2 octets, unsigned
前10个非空包的有效负载长度的标准偏差。
(11)firstEightNonEmptyPacketDirections CERT (PEN 6871) IE 507, 1 octet, unsigned
表示前8个非空包的方向性。正向0,反向1。
(12)reverseDataByteCount CERT (PEN 6871) IE 16886, 8 octets, unsigned
以反向负载的方式传输的总字节数。
(13)reverseAverageInterarrivalTime CERT (PEN 6871) IE 16887, 8 octets, unsigned
反向数据包之间的平均毫秒数。
(14)reverseStandardDeviationInterarrivalTime CERT (PEN 6871) IE 16888, 8 octets, unsigned
返回时间的标准偏差,在反方向的前10个数据包。
(15)reverseTcpUrgTotalCount Reverse (PEN 29305), IE 223, 4 octets, unsigned
反方向设置紧急标志的TCP包的数量。
(16)reverseSmallPacketCount CERT (PEN 6871) IE 16884, 4 octets, unsigned
在反向方向上包含少于60字节的有效负载的数据包的数量。
(17)reverseNonEmptyPacketCount CERT (PEN 6871) IE 16885, 4 octets, unsigned
反向包含至少1字节有效负载的数据包数。
(18)reverseLargePacketCount CERT (PEN 6871) IE 16894, 4 octets, unsigned
反向包含至少220字节有效负载的数据包数。
(19)reverseFirstNonEmptyPacketSize CERT (PEN 6871) IE 16889, 2 octets, unsigned
反向的第一个非空包的有效负载长度。
(20)reverseMaxPacketSize CERT (PEN 6871) IE 16890, 2 octets, unsigned
在流中反向传输的最大有效载荷长度。
(21)reverseStandardDeviationPayloadLength CERT (PEN 6871) IE 16892, 2 octets, unsigned
反向方向上的前10个非空数据包的有效负载长度的标准差。
三、p0f流模板
如果存在,且仅在启用p0f时,以下六个信息元素将作为模板导出到subTemplateMultiList中。
(1)osName CERT (PEN 6871) IE 36, variable-length
基于SYN数据包和p0f SYN指纹的正向流的p0f操作系统名称。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
(2)reverseOsName CERT (PEN 6871) IE 16420, variable-length
p0f操作系统名称为基于SYN数据包和p0f SYN指纹的反向流。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
(3)osVersion CERT (PEN 6871) IE 37, variable-length
p0f操作系统版本为基于SYN数据包和p0f SYN指纹的正向流。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
(4)reverseOsVersion CERT (PEN 6871) IE 16421, variable-length
p0f操作系统版本的反流基于SYN数据包和p0f SYN指纹。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
(5)osFingerPrint CERT (PEN 6871) IE 107, variable-length
基于SYN数据包和p0f SYN指纹的正向流的p0f操作系统指纹。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
(6)reverseOsFingerPrint CERT (PEN 6871) IE 16491, variable-length
基于SYN数据包和p0f SYN指纹的反向流的p0f操作系统指纹。只有在启用p0f时才显示。这个元素包含在subTemplateMultiList中的yaf p0f模板中。
四、钩子的模板
如果在yaf中启用了插件,yaf可以导出subTemplateMultiList中的其他模板。有关yaafdpi(1)中的yaf深度包检查信息元素的描述,请参阅yafdpi(1)。有关DHCP指纹信息元素的描述,请参阅yafdhcp(1)。