帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:BIN  二进制  print  Ascii  collectors  Collect  for  Forward  
Print binary sFlow feed to ASCII, or forward it to other collectors.

  • 源代码名称:sflowtool
  • 源代码网址:http://www.github.com/sflow/sflowtool
  • sflowtool源代码文档
  • sflowtool源代码下载
  • Git URL:
    git://www.github.com/sflow/sflowtool.git
  • Git Clone代码到本地:
    git clone http://www.github.com/sflow/sflowtool
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/sflow/sflowtool
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • sflowtool

    将二进制sFlow提要打印到 ASCII,或者将它的转发到其他收集器。

    这里工具接收sFlow数据,并生成simple-to-parse标记的ascii输出或者 tcpdump(1) 格式的二进制输出。 它还可以以生成 of 5数据报并将它们发送到目标UDP主机:端口,或者者转发原始sFlow源。

    请阅读。/copying中的许可条款。

    有关sFlow数据格式的更多详细信息,请参见 http://www.sflow.org

    基于源代码的
    ./boot.sh
    ./configure
    make
    sudo make install

    ( 如果你下载了发布版本,则从. /configure 开始

    用法示例

    如果sFlow到达端口 6343,你可以像这样打印数据:

    % 。/sflowtool -p 6343

    或者获得类似这样的line-by-line输出:

    % 。/sflowtool -p 6434 -l

    在一个典型的应用程序中,这个输出将由一个awk或者perl脚本解析,或者者提取 MAC-> IP地址映射。 然后,使用情况可能看起来更像这样:

    % 。/sflowtool -p 6343 | my_perl_script.pl> 输出

    或者,也可以像这样显示数据包解码:

    % 。/sflowtool -p 6343 -t | tcpdump R -

    要将 Cisco NetFlow v5记录转发到主机 collector.mysite.com, 上的UDP端口 9991,选项将为:

    % 。/sflowtool -p 6343 -c collector.mysite.com -d 9991

    在-DSPOOFSOURCE编译时,你可以选择将netflow包的IP源地址设置为 MATCH,以将原始 sflow agent(s).的IP地址发送到。

    % 。/sflowtool -p 6343 -c collector.mysite.com -d 9991 -S

    要将输入sflow流复制到多个收集器,请使用如下所示的"-f主机/端口"选项:

    % 。/sflowtool -p 6343 -f localhost/7777 -f localhost/7778 -f collector.mysite.com/6343

    示例输出

    下面显示了一个漂亮打印输出的例子。 注意,每个字段都可以解析为两个空格分隔标记( 标记和值) 。 新行将一个字段与下一个字段分开。 数据报中的第一个字段始终是"unixsecondsutc"字段,流或者计数器示例中的第一个字段始终是"samplesequenceno"字段。 在这个例子中,数据报包含两个流样本和两个计数器示例。 <<>> 括号中添加了注释。 这些在输出中没有找到。

     unixSecondsUTC 991362247 <<this is always the first field of a new datagram>>
     datagramVersion 2
     agent 10.0.0.254 <<the sFlow agent>>
     sysUpTime 10391000
     packetSequenceNo 5219 <<the sequence number for datagrams from this agent>>
     samplesInPacket 4
     sampleSequenceNo 9466 <<the sequence number for the first sample - a flow sample from 0:0>>
     sourceId 0:0
     sampleType FLOWSAMPLE
     meanSkipCount 10
     samplePool 94660
     dropEvents 0
     inputPort 14
     outputPort 16
     packetDataTag INMPACKETTYPE_HEADER
     headerProtocol 1
     sampledPacketSize 1014
     headerLen 128
     headerBytes 00-50-04-29-1B-D9-00-D0-B7-23-B7-D8-08-00-45-00-03-E8-37-44-40-00-40-06-EB-C6-0A-00-00-01-0A-00-00-05-0D-F1-17-70-A2-4C-D2-AF-B1-F0-BF-01-80-18-7C-70-82-E0-00-00-01-01-08-0A-23-BC-42-93-01-A9-
     dstMAC 005004291bd9 <<a rudimentary decode, which assumes an ethernet packet format>>
     srcMAC 00d0b723b7d8
     srcIP 10.0.0.1
     dstIP 10.0.0.5
     IPProtocol 6
     TCPSrcPort 3569
     TCPDstPort 6000
     TCPFlags 24
     extendedType ROUTER <<we have some layer3 forwarding information here too>>
     nextHop 129.250.28.33
     srcSubnetMask 24
     dstSubnetMask 24
     sampleSequenceNo 346 <<the next sample is a counters sample from 0:92>>
     sourceId 0:92
     sampleType COUNTERSSAMPLE
     statsSamplingInterval 20
     counterBlockVersion 1
     ifIndex 92
     networkType 53
     ifSpeed 0
     ifDirection 0
     ifStatus 0
     ifInOctets 18176791
     ifInUcastPkts 92270
     ifInMulticastPkts 0
     ifInBroadcastPkts 100
     ifInDiscards 0
     ifInErrors 0
     ifInUnknownProtos 0
     ifOutOctets 40077590
     ifOutUcastPkts 191170
     ifOutMulticastPkts 1684
     ifOutBroadcastPkts 674
     ifOutDiscards 0
     ifOutErrors 0
     ifPromiscuousMode 0
     sampleSequenceNo 9467 <<another flow sample from 0:0>>
     sourceId 0:0
     sampleType FLOWSAMPLE
     meanSkipCount 10
     samplePool 94670
     dropEvents 0
     inputPort 16
     outputPort 14
     packetDataTag INMPACKETTYPE_HEADER
     headerProtocol 1
     sampledPacketSize 66
     headerLen 66
     headerBytes 00-D0-B7-23-B7-D8-00-50-04-29-1B-D9-08-00-45-00-00-34-1E-D7-40-00-40-06-07-E8-0A-00-00-05-0A-00-00-01-17-70-0D-F1-B1-F0-BF-01-A2-4C-E3-A3-80-10-7C-70-E2-62-00-00-01-01-08-0A-01-A9-7F-A0-23-BC-
     dstMAC 00d0b723b7d8
     srcMAC 005004291bd9
     srcIP 10.0.0.5
     dstIP 10.0.0.1
     IPProtocol 6
     TCPSrcPort 6000
     TCPDstPort 3569
     TCPFlags 16
     extendedType ROUTER
     nextHop 129.250.28.33
     srcSubnetMask 24
     dstSubnetMask 24
     sampleSequenceNo 346 <<and another counters sample, this time from 0:93>>
     sourceId 0:93
     sampleType COUNTERSSAMPLE
     statsSamplingInterval 30
     counterBlockVersion 1
     ifIndex 93
     networkType 53
     ifSpeed 0
     ifDirection 0
     ifStatus 0
     ifInOctets 103959
     ifInUcastPkts 448
     ifInMulticastPkts 81
     ifInBroadcastPkts 93
     ifInDiscards 0
     ifInErrors 0
     ifInUnknownProtos 0
     ifOutOctets 196980
     ifOutUcastPkts 460
     ifOutMulticastPkts 599
     ifOutBroadcastPkts 153
     ifOutDiscards 0
     ifOutErrors 0
     ifPromiscuousMode 0
    其他 ExtendedTypes

    如果sFlow代理正在运行 BGP,你还可以看到网关extendedType部分,如下所示:

    extendedType网关 my_as 65001 src_as 0 src_peer_as 0 dst_as_path_len 3 dst_as_path 65000 -2828-4908

    switch,用户和 URL extendedTypes也可能出现。 switch extendedType提供有关输入和输出vlan和优先级的信息。 USER extendedType提供了通过远程访问会话分配这里IP地址的用户 id ( 比如 。 RADIUS或者 TACAS ) 。URL字段指示原始请求的URL为流的HTTP流。 有关更多信息,请参见 http://www.sflow.org 中发布的sFlow文档。

    line-by-line-csv输出

    如果使用"-l"选项运行 sflowtool,则每个流或者计数器示例只生成一行输出。 它看起来像这样:

    [root@server src]#./sflowtool -l
    CNTR,10.0.0.254,17,6,100000000,0,2147483648,175283006,136405187,2578019,297011,0,3,0,0,0,0,0,0,0,1
    FLOW,10.0.0.254,0,0,00902773db08,001083265e00,0x0800,0,0,10.0.0.1,10.0.0.254,17,0x00,64,35690,161,0x00,143,125,80

    计数器示例用第一列中的"cntr"条目指示。 第二列是代理地址。 其余列是通用计数器结构( 在 sflow.h 中查看 SFLIf_counters ) 中的字段。

    流示例用第一列中的"流"条目表示。 第二列是代理地址。 剩余的列包括:

    inputPort
    outputPort
    src_MAC
    dst_MAC
    ethernet_type
    in_vlan
    out_vlan
    src_IP
    dst_IP
    IP_protocol
    ip_tos
    ip_ttl
    udp_src_port OR tcp_src_port OR icmp_type
    udp_dst_port OR tcp_dst_port OR icmp_code
    tcp_flags
    packet_size
    IP_size
    sampling_rate
    友好的输出

    添加"-g"选项会导致sflowtool在每一行输出中包含上下文信息。 字段为:

     agentIP
     agentSubId
     datasource_sequenceNo
     datasource_class
     datasource_index
     sampletype_tag
     elementtype_tag

    例如这使得提取每个代理的特定计数器。累积增量并将它的流到时间序列数据库变得更加容易。

    Neil McKee ( neil.mckee@inmon.com ) InMon公司。 http://www.inmon.com



    文章标签:for  COL  Collect  BIN  print  FEED  二进制  Forward  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语