sanog10 net flow slides

Upload: mounir-ben-mohamed

Post on 07-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Sanog10 Net Flow Slides

    1/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Netflow, Flow-tools

    tutorial

    Gaurab Raj Upadhaya

  • 8/3/2019 Sanog10 Net Flow Slides

    2/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Agenda

    Agenda bashing Do you want to see the labs, or want to discuss

    issues

    Netflow

    What it is and how it works Uses and Applications

    Vendor Configurations/ Implementation Cisco and Juniper

    Flow-tools Architectural issues

    Software, tools etc

  • 8/3/2019 Sanog10 Net Flow Slides

    3/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Net-flow

  • 8/3/2019 Sanog10 Net Flow Slides

    4/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Network Flows

    Packets or frames that have acommon attribute.

    Creation and expiration policy what conditions start and stop aflow.

    Counters packets,bytes,time. Routing information AS, network

    mask, interfaces.

  • 8/3/2019 Sanog10 Net Flow Slides

    5/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Network Flows

    Unidirectional or bidirectional.

    Bidirectional flows can contain

    other information such as roundtrip time, TCP behavior.

    Application flows look past the

    headers to classify packets by theircontents.

    Aggregated flows flows of flows.

  • 8/3/2019 Sanog10 Net Flow Slides

    6/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Unidirectional Flow with

    Source/Destination IP Key

    10.0.0.1 10.0.0.2

    % telnet 10.0.0.2

    login:

    Active Flows

    Flow Source IP Destination IP

    1 10.0.0.1 10.0.0.22 10.0.0.2 10.0.0.1

  • 8/3/2019 Sanog10 Net Flow Slides

    7/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Unidirectional Flow with

    Source/Destination IP Key

    10.0.0.1 10.0.0.2

    % telnet 10.0.0.2

    login:

    Active Flows

    Flow Source IP Destination IP

    1 10.0.0.1 10.0.0.22 10.0.0.2 10.0.0.1

    % ping 10.0.0.2

    ICMP echo reply

  • 8/3/2019 Sanog10 Net Flow Slides

    8/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Unidirectional Flow with IP,

    Port,Protocol Key

    10.0.0.1 10.0.0.2login:

    Active Flows

    Flow Source IP Destination IP prot srcPort dstPort

    1 10.0.0.1 10.0.0.2 TCP 32000 232 10.0.0.2 10.0.0.1 TCP 23 320003 10.0.0.1 10.0.0.2 ICMP 0 04 10.0.0.2 10.0.0.1 ICMP 0 0

    % telnet 10.0.0.2% ping 10.0.0.2

    ICMP echo reply

  • 8/3/2019 Sanog10 Net Flow Slides

    9/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Bidirectional Flow with IP,

    Port,Protocol Key

    10.0.0.1 10.0.0.2

    % telnet 10.0.0.2

    login:

    Active FlowsFlow Source IP Destination IP prot srcPort dstPort

    1 10.0.0.1 10.0.0.2 TCP 32000 232 10.0.0.1 10.0.0.2 ICMP 0 0

    % ping 10.0.0.2

    ICMP echo reply

  • 8/3/2019 Sanog10 Net Flow Slides

    10/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Application Flow

    10.0.0.1 10.0.0.2

    % netscape http://10.0.0.2/9090

    Content-type:

    Active Flows

    Flow Source IP Destination IP Application

    1 10.0.0.1 10.0.0.2 HTTP

    Web server onPort 9090

  • 8/3/2019 Sanog10 Net Flow Slides

    11/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Aggregated Flow

    Flow Source IP Destination IP prot srcPort dstPort

    1 10.0.0.1 10.0.0.2 TCP 32000 23

    2 10.0.0.2 10.0.0.1 TCP 23320003 10.0.0.1 10.0.0.2 ICMP 0 04 10.0.0.2 10.0.0.1 ICMP 0 0

    Source/Destination IP AggregateFlow Source IP Destination IP

    1 10.0.0.1 10.0.0.22 10.0.0.2 10.0.0.1

    Main Active flow table

  • 8/3/2019 Sanog10 Net Flow Slides

    12/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Working with Flows

    Generating and Viewing Flows

    Exporting Flows from devices

    Types of flows

    Sampling rates

    Collecting it

    Tools to Collect Flows - Flow-tools Analyzing it

    More tools available, can write your own

  • 8/3/2019 Sanog10 Net Flow Slides

    13/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow Descriptors

    A Key with more elements will generatemore flows.

    Greater number of flows leads to morepost processing time to generate reports,more memory and CPU requirements fordevice generating flows.

    Depends on application. Trafcengineering vs. intrusion detection.

  • 8/3/2019 Sanog10 Net Flow Slides

    14/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow Accounting

    Accounting informationaccumulated with flows.

    Packets, Bytes, Start Time, EndTime.

    Network routing information

    masks and autonomous systemnumber.

  • 8/3/2019 Sanog10 Net Flow Slides

    15/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow Generation/Collection

    Passive monitor A passive monitor (usually a unix host)

    receives all data and generates flows.

    Resource intensive, newer investmentsneeded

    Router or other existing network device.

    Router or other existing devices like switch,generate flows.

    Sampling is possible

    Nothing new needed

  • 8/3/2019 Sanog10 Net Flow Slides

    16/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Passive Monitor Collection

    Workstation A Workstation B

    CampusFlow probe connectedto switch port in trafc mirror mode

  • 8/3/2019 Sanog10 Net Flow Slides

    17/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Router Collection

    Flow collectorstores exported flows from router.

    LAN

    LAN

    LAN

    LAN

    Internet

  • 8/3/2019 Sanog10 Net Flow Slides

    18/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Passive Monitor

    Directly connected to a LAN segmentvia a switch port in mirror mode,optical splitter, or repeated segment.

    Generate flows for all local LAN trafc. Must have an interface or monitor

    deployed on each LAN segment.

    Support for more detailed flows bidirectional and application.

  • 8/3/2019 Sanog10 Net Flow Slides

    19/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Router Collection

    Router will generate flows for trafcthat is directed to the router.

    Flows are not generated for localLAN trafc.

    Limited to simple flow criteria

    (packet headers). Generally easier to deploy no new

    equipment.

  • 8/3/2019 Sanog10 Net Flow Slides

    20/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Vendor implementations

  • 8/3/2019 Sanog10 Net Flow Slides

    21/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco NetFlow

    Unidirectional flows.

    IPv4 unicast and multicast.

    Aggregated and unaggregated. Flows exported via UDP.

    Supported on IOS and CatIOS platforms.

    Catalyst NetFlow is di

    erentimplementation.

  • 8/3/2019 Sanog10 Net Flow Slides

    22/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco NetFlow Versions

    4 Unaggregated types (1,5,6,7).

    14 Aggregated types (8.x).

    Each version has its own packet format. Version 1 does not have sequencenumbers no way to detect lost flows.

    The version defines what type of data

    is in the flow. Some versions specific to Catalyst

    platform.

  • 8/3/2019 Sanog10 Net Flow Slides

    23/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v1

    Key fields: Source/Destination IP,Source/Destination Port, IP

    Protocol, ToS, Input interface. Accounting: Packets, Octets, Start/

    End time, Output interface

    Other: Bitwise OR of TCP flags.

  • 8/3/2019 Sanog10 Net Flow Slides

    24/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v5

    Key fields: Source/Destination IP,Source/Destination Port, IP

    Protocol, ToS, Input interface. Accounting: Packets, Octets, Start/

    End time, Output interface.

    Other: Bitwise OR of TCP flags,Source/Destination AS and IP Mask.

    Packet format adds sequencenumbers for detecting lost exports.

  • 8/3/2019 Sanog10 Net Flow Slides

    25/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v8

    Aggregated v5 flows.

    3 Catalyst 65xx specific that

    correspond to the configurable flowmask.

    Much less data to post process, but

    lose fine granularity of v5 no IPaddresses.

  • 8/3/2019 Sanog10 Net Flow Slides

    26/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v8

    AS

    Protocol/Port

    Source Prefix Destination Prefix

    Prefix

    Destination (Catalyst 65xx) Source/Destination (Catalyst 65xx)

    Full Flow (Catalyst 65xx)

  • 8/3/2019 Sanog10 Net Flow Slides

    27/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v8

    ToS/AS

    ToS/Protocol/Port

    ToS/Source Prefix

    ToS/Destination Prefix

    Tos/Source/Destination Prefix

    ToS/Prefix/Port

  • 8/3/2019 Sanog10 Net Flow Slides

    28/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow Packet Format

    Common header among exportversions.

    All but v1 have a sequence number. Version specific data field where N

    records of data type are exported.

    N is determined by the size of theflow definition. Packet size is keptunder ~1480 bytes. Nofragmentation on Ethernet.

  • 8/3/2019 Sanog10 Net Flow Slides

    29/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v5 Packet Example

    NetFlowv5

    headerv5 record

    IP/UDP packet

    v5 record

  • 8/3/2019 Sanog10 Net Flow Slides

    30/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v5 Packet (Header)

    struct ftpdu_v5 {/* 24 byte header */u_int16 version; /* 5 */u_int16 count; /* The number of records in the PDU */u_int32 sysUpTime; /* Current time in millisecs since router booted */u_int32 unix_secs; /* Current seconds since 0000 UTC 1970 */u_int32 unix_nsecs; /* Residual nanoseconds since 0000 UTC 1970 */u_int32 flow_sequence; /* Seq counter of total flows seen */u_int8 engine_type; /* Type of flow switching engine (RP,VIP,etc.) */u_int8 engine_id; /* Slot number of the flow switching engine */u_int16 reserved;

  • 8/3/2019 Sanog10 Net Flow Slides

    31/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v5 Packet (Records)/* 48 byte payload */struct ftrec_v5 {u_int32 srcaddr; /* Source IP Address */u_int32 dstaddr; /* Destination IP Address */u_int32 nexthop; /* Next hop router's IP Address */u_int16 input; /* Input interface index */u_int16 output; /* Output interface index */u_int32 dPkts; /* Packets sent in Duration */u_int32 dOctets; /* Octets sent in Duration. */u_int32 First; /* SysUptime at start of flow */u_int32 Last; /* and of last packet of flow */u_int16 srcport; /* TCP/UDP source port number or equivalent */u_int16 dstport; /* TCP/UDP destination port number or equiv */u_int8 pad;u_int8 tcp_flags; /* Cumulative OR of tcp flags */u_int8 prot; /* IP protocol, e.g., 6=TCP, 17=UDP, ... */

    u_int8 tos; /* IP Type-of-Service */u_int16 src_as; /* originating AS of source address */u_int16 dst_as; /* originating AS of destination address */u_int8 src_mask; /* source address prefix mask bits */u_int8 dst_mask; /* destination address prefix mask bits */u_int16 drops;

    } records[FT_PDU_V5_MAXFLOWS];};

  • 8/3/2019 Sanog10 Net Flow Slides

    32/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v8 Packet Example

    (AS Aggregation)

    NetFlow

    v8header

    v8 record

    IP/UDP packet

    v8 record

  • 8/3/2019 Sanog10 Net Flow Slides

    33/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    NetFlow v8 AS agg. Packetstruct ftpdu_v8_1 {/* 28 byte header */u_int16 version; /* 8 */u_int16 count; /* The number of records in the PDU */u_int32 sysUpTime; /* Current time in millisecs since router booted */u_int32 unix_secs; /* Current seconds since 0000 UTC 1970 */u_int32 unix_nsecs; /* Residual nanoseconds since 0000 UTC 1970 */u_int32 flow_sequence; /* Seq counter of total flows seen */u_int8 engine_type; /* Type of flow switching engine (RP,VIP,etc.) */u_int8 engine_id; /* Slot number of the flow switching engine */

    u_int8 aggregation; /* Aggregation method being used */u_int8 agg_version; /* Version of the aggregation export */u_int32 reserved;/* 28 byte payload */struct ftrec_v8_1 {u_int32 dFlows; /* Number of flows */u_int32 dPkts; /* Packets sent in duration */u_int32 dOctets; /* Octets sent in duration */

    u_int32 First; /* SysUpTime at start of flow */u_int32 Last; /* and of last packet of flow */u_int16 src_as; /* originating AS of source address */u_int16 dst_as; /* originating AS of destination address */u_int16 input; /* input interface index */u_int16 output; /* output interface index */

    } records[FT_PDU_V8_1_MAXFLOWS];};

  • 8/3/2019 Sanog10 Net Flow Slides

    34/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configuration

    Configured on each input interface.

    Define the version.

    Define the IP address of the collector(where to send the flows).

    Optionally enable aggregation tables.

    Optionally configure flow timeout and

    main (v5) flow table size. Optionally configure sample rate.

  • 8/3/2019 Sanog10 Net Flow Slides

    35/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configurationinterface FastEthernet0/0

    ip address 203.94.88.1 255.255.255.0

    no ip proxy-arp

    ip route-cache flow

    duplex auto

    speed auto

    !

    interface FastEthernet0/1

    ip address 203.94.89.1 255.255.255.0

    no ip proxy-arp

    ip route-cache flow

    duplex auto

    speed auto

    ip flow-export version 5 origin-asip flow-export destination 203.94.88.2 5004

    ip flow-aggregation cache prefix

    export destination 203.94.88.2 5555

    enabled

  • 8/3/2019 Sanog10 Net Flow Slides

    36/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configuration

    Change in command in newer IOS

    interface FastEthernet0/0ip route-cache flow ! Prior to IOS 12.4

    ip flow [ingress|egress] ! From IOS 12.4

    CEF is preferred else netflow helps in optimalswitching

    With CEF, netflow becomes a information tool

  • 8/3/2019 Sanog10 Net Flow Slides

    37/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configurationsanog_sri_lanka#sh ip flow exportFlow export v5 is enabled for main cacheExporting flows to 203.94.88.2 (5004)Exporting using source IP address 203.94.88.1Version 5 flow records, origin-asCache for prefix aggregation:Exporting flows to 203.94.88.2 (5555)Exporting using source IP address 203.94.88.1

    14042 flows exported in 506 udp datagrams0 flows failed due to lack of export packet0 export packets were sent up to process level0 export packets were dropped due to no fib0 export packets were dropped due to adjacency issues0 export packets were dropped due to fragmentation failures

    0 export packets were dropped due to encapsulation fixup failures

  • 8/3/2019 Sanog10 Net Flow Slides

    38/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configurationsanog_sri_lanka#sh ip cache flow

    IP packet size distribution (37483277 total packets):

    132 64 96 128 160 192 224 256 288 320 352 384 416 448 480

    .002 .530 .053 .021 .008 .004 .016 .002 .001 .002 .001 .002 .004 .002 .002

    512 544 576 1024 1536 2048 2560 3072 3584 4096 4608

    .009 .003 .006 .013 .308 .000 .000 .000 .000 .000 .000

    IP Flow Switching Cache, 278544 bytes

    213 active, 3883 inactive, 7519099 added

    150463429 ager polls, 0 flow alloc failures

    Active flows timeout in 30 minutes

    Inactive flows timeout in 15 seconds

    IP Sub Flow Cache, 21640 bytes213 active, 811 inactive, 14698 added, 14698 added to flow

    0 alloc failures, 0 force free

    1 chunk, 3 chunks added

    last clearing of statistics never

  • 8/3/2019 Sanog10 Net Flow Slides

    39/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS ConfigurationProtocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec) Flows /Sec /Flow /Pkt /Sec /Flow /Flow

    TCP-Telnet 307 0.0 50 55 0.0 19.9 12.9TCP-FTP 2250 0.0 10 88 0.0 5.7 6.8TCP-FTPD 552 0.0 458 933 0.4 9.3 2.9TCP-WWW 5178673 9.8 4 577 43.7 5.2 14.0TCP-SMTP 55358 0.1 18 72 1.9 9.8 4.4TCP-X 15828 0.0 1 40 0.0 0.0 15.3TCP-NNTP 76 0.0 1 58 0.0 2.9 12.2TCP-Frag 137 0.0 1 40 0.0 0.0 15.5TCP-other 953957 1.8 9 522 16.8 4.1 13.4

    UDP-DNS 15916 0.0 2 66 0.0 3.2 15.5UDP-NTP 943 0.0 1 76 0.0 0.0 15.5UDP-Frag 76 0.0 1 315 0.0 0.4 15.4UDP-other 979044 1.8 3 344 6.1 0.7 15.5ICMP 315068 0.6 2 64 1.3 1.7 15.4IP-other 1671 0.0 265 453 0.8 53.3 15.3Total: 7519856 14.3 4 520 71.5 4.4 14.1

    SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts

    Se7/1:1 66.199.224.39 Null 203.94.89.22 06 94E8 0050 4Se7/1:1 121.23.95.181 Null 203.94.88.192 06 0E15 0050 3Se7/1:1 64.56.64.123 Null 203.94.89.5 06 0862 0050 2Se7/1:1 24.86.44.68 Fa0/1 203.94.89.104 11 890E DB36 1Se7/1:1 64.56.64.123 Null 203.94.89.32 06 0815 0050 2Se7/1:1 64.56.64.123 Null 203.94.89.34 06 0816 0050 2Se7/1:1 64.56.64.123 Null 203.94.89.33 06 0814 0050 2

  • 8/3/2019 Sanog10 Net Flow Slides

    40/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco IOS Configurationip flow-top-talkers

    top 10sort-by bytes

    cache-timeout 3000

    sanog_sri_lanka#sh ip flow top-talkers

    SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP BytesSe7/1:1 64.224.10.20 Fa0/0 203.94.88.203 06 0050 0877 165K

    Se7/1:1 64.224.10.20 Fa0/0 203.94.88.203 06 0050 0876 110K

    Se7/1:1 213.200.111.46 Fa0/0 203.94.88.93 06 0050 0612 57K

    Fa0/0 203.94.88.2 Local 203.94.88.1 01 0000 0303 46K

    Se7/1:1 213.200.111.56 Fa0/0 203.94.88.93 06 0050 0610 24K

    Se7/1:1 83.57.179.179 Fa0/1 203.94.89.14 06 0E8E 0050 22K

    Se7/1:1 213.200.111.46 Fa0/0 203.94.88.93 06 0050 0613 21K

    Fa0/1 203.94.89.93 Null 203.94.89.255 11 0436 0089 20K

    Fa0/1 203.94.89.14 Local 203.94.89.1 06 DF1E 0017 16K

    Se7/1:1 83.57.179.179 Null 203.94.89.197 06 0DCF 0050 11K

    10 of 10 top talkers shown. 248 flows processed.

  • 8/3/2019 Sanog10 Net Flow Slides

    41/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco command summary

    Enable CEF ip cef

    Enable flow on each interfaceip route cache flow ORip flow ingress

    ip flow egress

    View flows show ip cache flow

    show ip flow top-talkers

  • 8/3/2019 Sanog10 Net Flow Slides

    42/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Cisco Command Summary

    Exporting Flows to a collector

    ip flow-export version 5 [origin-as|peer-as]ip flow-export destination x.x.x.x

    Exporting aggregated flows

    ip flow-aggregation cache as|prefix|dest|source|protoenabledexport destination x.x.x.x

  • 8/3/2019 Sanog10 Net Flow Slides

    43/91

  • 8/3/2019 Sanog10 Net Flow Slides

    44/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Juniper Configration

    firewall {filter all {

    term all {then {

    sample;accept;

    }}}

    }

    forwarding-options {sampling {

    input {family inet {

    rate 100;}

    }output {

    cflowd 10.0.0.16{

    port 2055;version 5;}

    }}

    }

    Firewall filter Enable sampling / flows

  • 8/3/2019 Sanog10 Net Flow Slides

    45/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Juniper Configuration

    interfaces {ge-0/3/0 {unit 0 {

    family inet {filter {

    input all;output all;

    }

    address 192.148.244.1/24;}

    }}

    Apply firewall filter to each interface.

  • 8/3/2019 Sanog10 Net Flow Slides

    46/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flows and Applications

  • 8/3/2019 Sanog10 Net Flow Slides

    47/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Uses for Flow

    Problem identification / solving

    Traffic classification

    DoS Traceback (some slides by Danny McPherson) Traffic Analysis

    Inter-AS traffic analysis

    Reporting on application proxies

    Accounting Cross verification from other sources

    Can cross-check with SNMP data

  • 8/3/2019 Sanog10 Net Flow Slides

    48/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Trafc Classification

    Based on Protocol, source and

    destination ports

    Protocol identification (TCP, UDP, ICMP) Can define well known ports

    Can identify well known P2P ports

    Most common use Proxy measurement - http , ftp

    Rate limiting P2P traffic

  • 8/3/2019 Sanog10 Net Flow Slides

    49/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Traceback: Flow-based* Trace attack by matching fingerprint/signature at each

    interface via passive monitoring:

    Flow data (e.g., NetFlow, cflowd, sFlow, IPFIX)

    Span Data

    PSAMP (Packet Sampling, IETF PSAMP WG)

    Number of open source and commercial productsevolving in market

    Non-intrusive, widely supported

  • 8/3/2019 Sanog10 Net Flow Slides

    50/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow-based Detection*

    Monitor flows (i.e., Network and TransportLayer transactions) on the network and buildbaselines for what normal behavior looks like:

    Per interface

    Per prefix

    Per Transport Layer protocol & ports

    Build time-based buckets (e.g., 5 minutes,30 minutes, 1 hours, 12 hours, day ofweek, day of month, day of year)

  • 8/3/2019 Sanog10 Net Flow Slides

    51/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Detect Anomalous Events: SQL

    Slammer Worm*

  • 8/3/2019 Sanog10 Net Flow Slides

    52/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow-based Detection (cont)

    * Once baselines are built anomalous activity can be

    detected Pure rate-based (pps or bps) anomalies may be legitimate

    or malicious Many misuse attacks can be immediately recognized, even

    without baselines (e.g., TCP SYN or RST floods)

    Signatures can also be defined to identify interestingtransactional data (e.g., proto udp and port 1434 and 404octets(376 payload) == slammer!)

    Temporal compound signatures can be defined to detectwith higher precision

    Flow-based Commercial

  • 8/3/2019 Sanog10 Net Flow Slides

    53/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow-based CommercialTools*

  • 8/3/2019 Sanog10 Net Flow Slides

    54/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Commercial DetectionA Large Scale DOS attack*

  • 8/3/2019 Sanog10 Net Flow Slides

    55/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Traceback: Commercial*

    C i l T b k M

  • 8/3/2019 Sanog10 Net Flow Slides

    56/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Commercial Traceback: MoreDetail*

  • 8/3/2019 Sanog10 Net Flow Slides

    57/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Trafc Analysis

    Can see traffic based on source anddestination AS

    Source and destination AS derived throughthe routing table on the router

    Introduces the need to run full mesh BGPat IXPs as well as transit and peering

    Source and destination prefix based flowscan be collected and plotted againstexternal prefix to ASN data

  • 8/3/2019 Sanog10 Net Flow Slides

    58/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Accounting

    Flow based accounting can be a good

    supplement to SNMP based accounting.

    SNMP d Fl

  • 8/3/2019 Sanog10 Net Flow Slides

    59/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    SNMP and Flows

    Data Courtesy AARNET, Australia and Bruce Morgan

    See the fine lines

  • 8/3/2019 Sanog10 Net Flow Slides

    60/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    See the fine lines..

    Data Courtesy AARNET, Australia and Bruce Morgan

  • 8/3/2019 Sanog10 Net Flow Slides

    61/91

  • 8/3/2019 Sanog10 Net Flow Slides

    62/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Flow-tools Collection of programs to post

    process Cisco NetFlow compatibleflows.

    Written in C, designed to be fast(scales to large installations).

    Includes library (ftlib) for custom

    applications. Installation withconfigure;make;make install on

  • 8/3/2019 Sanog10 Net Flow Slides

    63/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-capture

    Collect NetFlow exports and storesto disk.

    Built in compression.

    Manages disk space by expiringolder flow files at configurablelimits.

    Detects lost flows by missingsequence numbers and stores withflow metadata.

  • 8/3/2019 Sanog10 Net Flow Slides

    64/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-fanout

    Replicate NetFlow UDP streamsfrom one source to many

    destinations. Destination may be a multicast

    address.

  • 8/3/2019 Sanog10 Net Flow Slides

    65/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-expire

    Expire (remove) old flow files basedon disk usage.

    Same functionality built in to flow-capture.

    Used when managing disk space in

    a distributed environment.

  • 8/3/2019 Sanog10 Net Flow Slides

    66/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Collector Placement and

    configuration NetFlow is UDP so the collector

    should ideally be directly connected

    to the router to minimize packetloss and IP spoofing risks.

    No flow control. Undersizedcollector will drop flows. Monitornetstat s | grep buf and configuresyslog so dropped flows will belogged.

  • 8/3/2019 Sanog10 Net Flow Slides

    67/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-print

    Formatted output of flow files.eng1:% flow-print < ft-v05.2002-01-21.093345-0500 | head -15srcIP dstIP prot srcPort dstPort octets packets

    131.238.205.199 194.210.13.1 6 6346 40355 221 5192.5.110.20 128.195.186.5 17 57040 33468 40 1128.146.1.7 194.85.127.69 17 53 53 64 1193.170.62.114 132.235.156.242 6 1453 1214 192 4134.243.5.160 192.129.25.10 6 80 3360 654 7132.235.156.242 193.170.62.114 6 1214 1453 160 4130.206.43.51 130.101.99.107 6 3226 80 96 2206.244.141.3 128.163.62.17 6 35593 80 739 10

    206.244.141.3 128.163.62.17 6 35594 80 577 6212.33.84.160 132.235.152.47 6 1447 1214 192 4132.235.157.187 164.58.150.166 6 1214 56938 81 2129.1.246.97 152.94.20.214 6 4541 6346 912 10132.235.152.47 212.33.84.160 6 1214 1447 160 4130.237.131.52 130.101.9.20 6 1246 80 902 15

  • 8/3/2019 Sanog10 Net Flow Slides

    68/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-cat

    Concat many flow files ordirectories of files.

    eng1:% lsft-v05.2002-01-21.160001-0500 ft-v05.2002-01-21.170001-0500ft-v05.2002-01-21.161501-0500 ft-v05.2002-01-21.171501-0500ft-v05.2002-01-21.163001-0500 ft-v05.2002-01-21.173001-0500ft-v05.2002-01-21.164501-0500 tmp-v05.2002-01-21.174501-0500

    eng1:% flow-cat . | flow-print

    srcIP dstIP prot srcPort dstPort octets packets138.26.220.46 192.5.110.20 17 62242 33456 40 1143.105.55.23 18.123.66.15 17 41794 41794 40 1129.15.134.66 164.107.69.33 6 1214 2222 4500 3132.235.170.19 152.30.96.188 6 6346 1475 128 3

  • 8/3/2019 Sanog10 Net Flow Slides

    69/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-merge

    Flow-merge is similar to flow-catexcept it maintains relative

    ordering of flows when combiningthe files.

    Typically used when combiningflows from multiple collectors.

  • 8/3/2019 Sanog10 Net Flow Slides

    70/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-filter

    Filter flows based on port, protocol,ASN, IP address, ToS bits, TCP bits,and tags.

    eng1% flow-cat . | flow-filter -P119 | flow-print | head -10

    srcIP dstIP prot srcPort dstPort octets packets155.52.46.50 164.107.115.4 6 33225 119 114 2128.223.220.29 129.137.4.135 6 52745 119 1438382 1022155.52.46.50 164.107.115.4 6 33225 119 374 6164.107.115.4 192.58.107.160 6 60141 119 5147961 8876

    128.223.220.29 129.137.4.135 6 52745 119 1356325 965128.223.220.29 129.137.4.135 6 52714 119 561016 398130.207.244.18 129.22.8.64 6 36033 119 30194 121155.52.46.50 164.107.115.4 6 33225 119 130 2198.108.1.146 129.137.4.135 6 17800 119 210720652 216072

  • 8/3/2019 Sanog10 Net Flow Slides

    71/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-split

    Split flow files into smaller files.

    Typically used with flow-stat and

    graphing. For example if flow filesare 1 hour and want 5 minute datapoints in graph, flow-split can take

    the 1 hour flow files and generate 5minute files.

  • 8/3/2019 Sanog10 Net Flow Slides

    72/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-tag

    Adds a tag field to flows based onIP exporter, IP prefix, Autonomous

    System, or next hop. Like flow-filter used with other

    tools.

    Used to manage groups of prefixesor ASNs.

  • 8/3/2019 Sanog10 Net Flow Slides

    73/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-header Display meta information in flow

    eng1:% flow-header < ft-v05.2002-01-21.093345-0500## mode: normal# capture hostname: eng1.oar.net# exporter IP address: 0.0.0.0# capture start: Mon Jan 21 09:33:45 2002# capture end: Mon Jan 21 09:45:01 2002# capture period: 676 seconds# compress: on# byte order: little# stream version: 3

    # export version: 5# lost flows: 0# corrupt packets: 0# sequencer resets: 0# capture flows: 341370#

  • 8/3/2019 Sanog10 Net Flow Slides

    74/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-stat

    Generates reports from flow files.

    Output is readable and easily

    imported into graphing programs(gnuplot, etc).

    IP Address, IP address pairs, ports,

    packets, bytes, interfaces, nexthop, Autonomous System, ToS bits,exporter, and tags.

  • 8/3/2019 Sanog10 Net Flow Slides

    75/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-stat - summary

    Total Flows : 24236730Total Octets : 71266806610Total Packets : 109298006Total Time (1/1000 secs) (flows): 289031186084Duration of data (realtime) : 86400

    Duration of data (1/1000 secs) : 88352112Average flow time (1/1000 secs) : 11925.0000 Average packet size (octets) : 652.0000 Average flow size (octets) : 2940.0000 Average packets per flow : 4.0000 Average flows / second (flow) : 274.3201 Average flows / second (real) : 280.5177 Average Kbits / second (flow) : 6452.9880 Average Kbits / second (real) : 6598.7781

  • 8/3/2019 Sanog10 Net Flow Slides

    76/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-stat Source AS %

    Total## src AS flows octets packets duration# NSFNETTEST14-AS 6.430 6.582 7.019 5.693ONENET-AS-1 2.914 4.417 3.529 3.566UONET 0.600 4.052 2.484 1.979

    UPITT-AS 1.847 3.816 2.697 2.552CONCERT 1.786 2.931 2.391 1.955OHIOU 3.961 2.601 2.140 1.655CMU-ROUTER 1.962 2.577 2.349 2.075BOSTONU-AS 1.503 2.126 1.665 1.914PURDUE 2.185 1.994 2.157 2.507STANFORD 2.124 1.950 2.270 2.636UR 1.809 1.919 1.652 1.532

    UMN-AGS-NET-AS 1.612 1.895 1.788 1.938RISQ-AS 1.086 1.849 1.378 1.367PENN-STATE 2.845 1.641 2.666 2.190RIT-ASN 0.796 1.601 1.414 0.830

  • 8/3/2019 Sanog10 Net Flow Slides

    77/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-stat Dest AS % Total## dst AS flows octets packets duration# NSFNETTEST14-AS 6.202 9.564 8.005 6.762PENN-STATE 2.037 3.774 2.712 2.153CONCERT 2.628 3.133 2.888 2.326ONENET-AS-1 2.818 2.434 2.906 3.000

    STANFORD 1.915 2.360 2.122 2.195JANET 2.508 2.319 2.150 2.4850 0.831 2.187 2.431 2.910DFN-WIN-AS 2.349 2.099 1.938 2.359CMU-ROUTER 1.383 2.090 1.972 1.960UONET 0.537 2.067 1.699 1.397PURDUE 2.029 1.934 1.983 2.177UMN-AGS-NET-AS 1.608 1.784 1.664 1.681

    UPITT-AS 1.507 1.707 2.067 2.288 MIT-GATEWAYS 0.677 1.425 1.175 0.806RIT-ASN 0.644 1.313 1.243 0.868INDIANA-AS 0.899 1.285 0.996 0.781

  • 8/3/2019 Sanog10 Net Flow Slides

    78/91

  • 8/3/2019 Sanog10 Net Flow Slides

    79/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-dscan DoS detection / network scanning

    tool.

    Flag hosts which have flows to

    many other hosts. Flag hosts which are using a large

    number of TCP/UDP ports.

    Works better on smaller networksor with flow-filter to limit trafc.For example filter TCP port 25 to

  • 8/3/2019 Sanog10 Net Flow Slides

    80/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-gen

    Debugging tool to generate flows.

    eng1:% flow-gen -V8.1 | flow-print | head -10

    srcAS dstAS in out flows octets packets duration0 65280 0 65280 2 1 1 42949017601 65281 1 65281 4 2 2 42949017602 65282 2 65282 6 3 3 42949017603 65283 3 65283 8 4 4 42949017604 65284 4 65284 10 5 5 42949017605 65285 5 65285 12 6 6 42949017606 65286 6 65286 14 7 7 42949017607 65287 7 65287 16 8 8 42949017608 65288 8 65288 18 9 9 4294901760

  • 8/3/2019 Sanog10 Net Flow Slides

    81/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-send

    Transmit flow files with NetFlowprotocol to another collector.

    Can be used to take flow-tools filesand send them to other NetFlowcompatible collector.

    fl

  • 8/3/2019 Sanog10 Net Flow Slides

    82/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-receive Like flow-capture but does not

    manage disk space. Output is tostandard out and can be useddirectly with other flow-tools

    programs. Typically used for debugging.

    eng1:% flow-receive 0/0/5555 | flow-printflow-receive: New exporter: time=1011652474 src_ip=199.18.112.114dst_ip=199.18.97.102 d_version=8

    srcPrefix srcAS dstPrefix dstAS input output flows143.105/16 600 128.9/16 4 48 25 1140.141/16 600 150.216/16 81 48 25 4132.235/16 17135 130.49/17 4130 38 25 25131.123/16 11050 129.59/16 7212 42 25 1206.21/16 600 128.239/16 11975 48 25 2199.218/16 600 128.255/16 3676 48 25 1

  • 8/3/2019 Sanog10 Net Flow Slides

    83/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-import

    Import flows from other formatsinto flow-tools.

    Currently supports ASCII andcflowd formats.

  • 8/3/2019 Sanog10 Net Flow Slides

    84/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-export

    Export flows from flow-tools filesto other formats.

    Currently supports ASCII andcflowd formats.

    ASCII output can be used with perl

    or other scripting languages (with aperformance penalty).

  • 8/3/2019 Sanog10 Net Flow Slides

    85/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    flow-xlate

    Translate flows among NetFlowversions.

    Originally intended for use withCatalyst switches since they exportsome flows in version 7 and othersin version 5 format.

  • 8/3/2019 Sanog10 Net Flow Slides

    86/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    Front End applications

    Flow-tools is good at collecting raw flows

    You may need additional tools to generatecustomized reports

    Perl applications are very popular. flowscan.pm

    Cflow.pm CuGrapher.pl

    Integration with RRDTool, MRTG etc. makes itmore useful

  • 8/3/2019 Sanog10 Net Flow Slides

    87/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    What Next

    IPFIX (IP Flow Information Exchange)

    To make the flow format uniform and make iteasier to write analysis tools

    http://www1.ietf.org/html.charters/ipfix-charter.html

    Requirements for IP Flow Information Export (RFC3917)

    Evaluation of Candidate Protocols for IP FlowInformation Export (IPFIX) (RFC 3955)

    http://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/html.charters/ipfix-charter.htmlhttp://www1.ietf.org/html.charters/ipfix-charter.htmlhttp://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/rfc/rfc3917.txthttp://www1.ietf.org/html.charters/ipfix-charter.htmlhttp://www1.ietf.org/html.charters/ipfix-charter.htmlhttp://www1.ietf.org/html.charters/ipfix-charter.htmlhttp://www1.ietf.org/html.charters/ipfix-charter.html
  • 8/3/2019 Sanog10 Net Flow Slides

    88/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    References

    flow-tools: http://www.splintered.net/sw/flow-tools

    NetFlow Applications http://www.inmon.com/technology/netflowapps.php

    Netflow HOW-TOhttp://www.linuxgeek.org/netflow-howto.php

    IETF standards eort: http://ipfix.doit.wisc.edu

  • 8/3/2019 Sanog10 Net Flow Slides

    89/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    References

    flow-tools: http://www.splintered.net/sw/flow-tools

    Abilene NetFlow page http://www.itec.oar.net/abilene-netflow

    Flow-tools mailing list:[email protected]

    Cisco Centric Open SourceCommunity http://cosi-nms.sourceforge.net/related.html

  • 8/3/2019 Sanog10 Net Flow Slides

    90/91

    SANOG X Workshop : 29 September -7 August 2007, New Delhi

    More Info

    e-mail : gaurab @ lahai.com

    Labs and instruction on configuration

    how to configure Flow-tools, and a fewmore front end applications are available

    at

    On the web : http://lahai.com/netmgmt/

  • 8/3/2019 Sanog10 Net Flow Slides

    91/91

    Acknowledgements

    Danny McPherson, Arbor

    Bruce Morgan, AARNet