[Linux]Linux下yaf發送IPV4和IPV6的IPfix

1、IPFIX與NetFlow

1、IPFIX
全稱IP Flow Information Export,即IP流信息輸出,是網絡流量監測的國際標準。IPFIX是IETF的一個工做組,它的主要工做就是制訂用於IP網絡中的流信息測量標準協議,稱爲IPFIX協議。因IETF在因特網行業的權威性,IPFIX制訂的一系列RFC形式的標準,是專業網絡流量監測產品及其企業,都應參考的重要文獻。官方網站:http://datatracker.ietf.org/wg/ipfix/html

2、流
通常定義:流是一系列經過網絡中某一觀察點的具備相同屬性的數據包。屬性包括端點、方向、時間粒度、協議層次;端點指的是流的起點和終點;方向能夠是單向或雙向;時間粒度指數據包的發送起始時間和終止時間;協議層次包括網絡各層協議。流記錄:一條記錄,包含了一個流的有用信息。
IPFIX對流的定義:在必定時間間隔內,通過觀察點的一系列IP包。屬於同一個流的IP包具備如下一些共同屬性:
1. 某些IP層頭字段(例如目的IP地址)、傳輸層頭字段(例如目的端口)、或應用層頭字段(例如RTP頭字段);
2. 包自身的某些特徵(例如MPLS標籤號);
3. 跟路由器對包處理方式相關字段(例以下一跳IP地址、輸出接口)。
Netflow的流定義:流是在兩個終端間數據包的單向序列。 Netflow經過如下7個字段定義一個流:源IP地址、目的IP地址、源端口號、目的端口號、傳輸協議類型、IP Type of Service(即TOS ,DSCP)、輸入接口 (ifIndex)。DSCP(Differentiated Services Code Point):區分服務代碼點,它定義不一樣級別的服務,是「優先位」和「服務類型」字段的組合。
每當路由器/交換機收到一個數據包,都會掃描流的字段來判斷數據包是否屬於一個存在的流。若流已經存在,進行字節和包的累加操做;若流不存在,緩存中生成一個新的流,初始化字節和包數;若判斷流已經結束,那麼以相應的格式上報流記錄。
流的開始時間容易判斷,即新流第一個包的時間。如何判斷流的結束時間則比較困難。NetFlow流結束時間判斷方式:①傳輸協議出現鏈接結束標誌(TCP FIN or RST );②無流量超過15秒 (用於UDP協議,或TCP雙方掉線狀況);③流緩存每30分鐘過時,對於長期存在的活動流,週期性輸出流記錄,保證及時輸出流信息(15秒 /30分鐘是路由器缺省的定時時間);④緩存滿了。
獲得流記錄後,進行分類和匯聚,壓縮數據量。緩存

3、NetFlow網絡

Netflow 技術於1996年由思科公司發明,於同年5月註冊爲美國專利。NetFlow首先用於網絡設備對數據交換進行加速,並同步實現對高速轉發的IP數據流進行測量和統計。通過多年的技術演進,NetFlow原來用於數據交換加速的功能已經逐步由網絡設備中的專用ASIC 芯片實現,而對IP數據流進行測量和統計的功能也已更加成熟,造成了一種專用流交換技術。NetFlow已集成到大多數廠商的路由器和交換機內成爲流量監測的事實標準,普遍應用於網絡管理。配置方便,安裝簡單,不須要增長額外設備。
可是NetFlow依然有它的劣勢。NetFlow消耗路由器的CPU和存儲資源,對設備的轉發性能有影響。流記錄的數據量仍然很大,非獨立設備,處理能力不足。所以,通常採用100~1000:1採樣比,監測粒度較粗,損失流量
的細節信息。設備自己提供的數據內容有侷限性,策略和定製能力相對較差。NetFlow功能集成在設備內,軟件實現性能差、硬件實現靈活性差,對於大量已部署運行的路由器升級板卡費用高。NetFlow業務和應用識別主要依賴於TCP/UDP端口號,沒法識別突飛猛進的業務。性能

2、CentOS 6.9安裝yaf發送IPfix

1.安裝必須的依賴網站

>yum install -y glib2-devel libpcap-devel zlib-develspa

2.源碼安裝libfixbuf-1.7.1.tar.gz.net

下載地址: http://tools.netsa.cert.org/fixbuf/download.html orm

>tar -zxvf libfixbuf-1.7.1.tar.gz
>cd libfixbuf-1.7.1
>./configure && make && make installhtm

3.源碼安裝yafblog

yaf下載地址: http://tools.netsa.cert.org/yaf/download.html

 這裏使用的是2.8.4版本

>tar -zxvf yaf-2.8.4.tar.gz

>cd yaf-2.8.4

>./configure && make && make install

4.驗證yaf是否安裝成功

[root@test~]# yaf          //表示安裝成功
Command-line argument error:
Refusing to read from terminal on stdin
Use --help for usage.

3、yaf發送IPV4,IPV6的IPFIX

查看本機的IP能夠發現,本機有IPV4和IPV6的地址,所以能夠向IPV4和IPV6對應的網段發送IPFIX流

  • 發送IPV4 IPFXI

#yaf --live=pcap --in=eth0 --out=10.30.30.217 --ipfix-port 2055 --ipfix=udp

 命令解釋:經過本機的eth0端口 向10.30.30.217的2055端口發送基於UDP的IPFIX流

  • 發送IPV6 IPFIX

#yaf --live=pcap --in=eth0 --out=2002:ac14:1414:0:250:56ff:fea2:12a7  --ipfix-port 2055 --ipfix=udp --force-ip6-export

命令解釋:經過本機的eth0端口向2002:ac14:1414:0:250:56ff:fea2:12a7的2055端口發送IPV6的IPFIX流

查看發送遠程機器(--out=IP)解析的IPFIX-FLOW

相關文章
相關標籤/搜索