Cisco Net Flow Accounting with Flow Scan in

  • Slides: 23
Download presentation
Cisco Net. Flow Accounting with Flow. Scan in Solaris

Cisco Net. Flow Accounting with Flow. Scan in Solaris

Topics Presentation Description Net. Flow & Flow. Scan l Role of report module in

Topics Presentation Description Net. Flow & Flow. Scan l Role of report module in Flow. Scan l JKFlow module Design -Why a new module? -Principe of JKFlow -What can this module more? -Principe of JKFlow l Demo! l

The Book Contains: l 1: Technical explanation: Technology of Net. Flow & Flow. Scan

The Book Contains: l 1: Technical explanation: Technology of Net. Flow & Flow. Scan l 2: In detail: JKFlow report module -configuration -working (for Perl-fanatics)

Purpose of Final Work l Implementation Net. Flow service profiling bandwidth monitoring system l

Purpose of Final Work l Implementation Net. Flow service profiling bandwidth monitoring system l Flows received from central WAN-routers l Collection/Analyse in Solaris 8, 9 (x 86)

Net. Flow protocol Flow accounting protocol Cisco routers l Flow Records: src/dst IP, port,

Net. Flow protocol Flow accounting protocol Cisco routers l Flow Records: src/dst IP, port, tos, bytes, . . . l PDU via UDP poort 2055 (default) l

Flow. Scan = Framework Net. Flow system -Net. Flow collector -Analyse/Reporting of flows -Presentation

Flow. Scan = Framework Net. Flow system -Net. Flow collector -Analyse/Reporting of flows -Presentation of the reports l Perl-scripts combines these tools to a complete system l

Flow. Scan Design Components: • Cflowd • Flow. Scan + report module • RRDTool

Flow. Scan Design Components: • Cflowd • Flow. Scan + report module • RRDTool • Makefile/CGI-script

Report module Analyse Flows => Counters l Counters => RRDTool databases l Default: Campus.

Report module Analyse Flows => Counters l Counters => RRDTool databases l Default: Campus. IO (services) Subnet. IO (subnetten) l Others: Carrier. In CUFlow l

Constraints l No analyses possible for subnets: -Campus. IO only services global -Subnet. IO

Constraints l No analyses possible for subnets: -Campus. IO only services global -Subnet. IO only total for each subnet l Other modules don’t deliver the wanted functionality either: -Carrier. In only inbound, services global -CUFlow for each router, services global

CUFlow module l CUFlow = Report module + CGI-script l Analysing using a global

CUFlow module l CUFlow = Report module + CGI-script l Analysing using a global set of protocols/services of different routers l Only total for subnets l Top-10, HTML statistics

New: JKFlow module l Started as a rewrite of CUFlow +Added Subnet monitoring of

New: JKFlow module l Started as a rewrite of CUFlow +Added Subnet monitoring of protocols/services +Separated sets of protocols/services for each router/subnet +Redundant code removed l Became an independed Perl-module located at URL: http: //users. telenet. be/jurgen. kobierczynski

Principe JKFlow: Hashes l Hash = Assiociative Array %fruit = ( apples => 3,

Principe JKFlow: Hashes l Hash = Assiociative Array %fruit = ( apples => 3, oranges => 6 print $fruit{apples}; l ); shows: 3 Hash-tree = Reference of a hash into a hash $hashref = { a => { b => 2, c => 3 }, d => 4 print $hashref->{a}{b}; }; shows: 2

Hashes in JKFlow Uniform structure of Hash-trees for counters l Using references to these

Hashes in JKFlow Uniform structure of Hash-trees for counters l Using references to these structures l $Ref->

l Reuse of routines

l Reuse of routines

JKFlow Framework l. I needed a framework to get the desired flexibility to integrate

JKFlow Framework l. I needed a framework to get the desired flexibility to integrate all desired features l I’ve found this in XML Perl + XML = l XML: : Simple module XML => Hash

JKFlow. xml

JKFlow. xml

JKFlow. xml elements 1: <all>, <router(s)>, <subnet(s)>, <network(s)> l 2: <direction> l 3: <application>,

JKFlow. xml elements 1: <all>, <router(s)>, <subnet(s)>, <network(s)> l 2: <direction> l 3: <application>, <services>, <ftp>, <protocols>, <tos>, <multicast>, <total> l (2) & (3) can be defined in (1) & (2)

Directions Direction = Selection of Source/Destination subnets l Including/excluding Subnets possible l tosubnet fromsubnet

Directions Direction = Selection of Source/Destination subnets l Including/excluding Subnets possible l tosubnet fromsubnet nofromsubnet

Recursive Directions can be nested inside Directions l Each Direction has its own set

Recursive Directions can be nested inside Directions l Each Direction has its own set of protocols and services to monitor l <direction name="BE-NL“ …> <direction name="BE-NL desktops“…> … </direction> l Where could you use this feature for?

. . . for subnet monitoring!

. . . for subnet monitoring!

Applications l Merge several services together as ‘one’ service example: <application name=“web”>80/tcp, 443/tcp</application> FTP

Applications l Merge several services together as ‘one’ service example: <application name=“web”>80/tcp, 443/tcp</application> FTP l State monitoring of FTP control sessions for detection of Active/Passive FTP-sessions example: <ftp/>

JKGrapher CGI-script l CGI-script for reading of RRDTool files created by JKFlow l Based

JKGrapher CGI-script l CGI-script for reading of RRDTool files created by JKFlow l Based on CUGrapher l 1: -first preselection of routers/subnets/networks l After this you will get a website with a form where you can select protocols/services of the selected routers/subnets, of which you want to see a graphic.

Demo l Parsing of flowfiles by JKFlow, generation of RRDTool files l JKGrapher interface

Demo l Parsing of flowfiles by JKFlow, generation of RRDTool files l JKGrapher interface