<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
<refentry>

<refmeta>
<refentrytitle>
<application>flow-stat</application>
</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>

<refnamediv>
<refname>
<application>flow-stat</application>
</refname>
<refpurpose>
Generate reports with flow data.
</refpurpose>
</refnamediv>

<refsynopsisdiv>
<cmdsynopsis>
<command>flow-stat</command>
<arg>-hnpPw</arg>
<arg>-d<replaceable> debug_level</replaceable></arg>
<arg>-f<replaceable> format</replaceable></arg>
<arg>-S<replaceable> sort_field</replaceable></arg>
<arg>-s<replaceable> sort_field</replaceable></arg>
<arg>-t<replaceable> tally_lines</replaceable></arg>
<arg>-T<replaceable> title</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>


<refsect1>
<title>DESCRIPTION</title>
<para>
The <command>flow-stat</command> utility generates usage reports for flow
data sets by IP address, IP address pairs, ports, packets, bytes,
interfaces, next hops, autonomous systems, ToS bits, exporters, and tags.
</para>
</refsect1>

<refsect1>
<title>OPTIONS</title>
<variablelist>

<varlistentry>
<term>-d<replaceable> debug_level</replaceable></term>
<listitem>
<para>
Enable debugging.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-f<replaceable> format</replaceable></term>
<listitem>
<para>
<literallayout>
Report format.  Choose from the following:

    0  Overall Summary
    1  Average packet size distribution
    2  Packets per flow distribution
    3  Octets per flow distribution
    4  Bandwidth per flow distribution
    5  UDP/TCP destination port
    6  UDP/TCP source port
    7  UDP/TCP port
    8  Destination IP
    9  Source IP
    10 Source/Destination IP
    11 Source or Destination IP
    12 IP protocol
    13 octets for flow duration plot data
    14 packets for flow duration plot data
    15 short summary
    16 IP Next Hop
    17 Input interface
    18 Output interface
    19 Source AS
    20 Destination AS
    21 Source/Destination AS
    22 IP ToS
    23 Input/Output Interface
    24 Source Prefix
    25 Destination Prefix
    26 Source/Destination Prefix
    27 Exporter IP
    28 Engine Id
    29 Engine Type
    30 Source Tag
    31 Destination Tag
    32 Source/Destination Tag
</literallayout>
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-h</term>
<listitem>
<para>
Display help.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-n</term>
<listitem>
<para>
Use symbolic names where appropriate.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-p</term>
<listitem>
<para>
Display header information.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-P</term>
<listitem>
<para>
Report as percent total.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-s<replaceable> sort_field</replaceable></term>
<listitem>
<para>
Sort ascending on field <replaceable>sort_field</replaceable>.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-S<replaceable> sort_field</replaceable></term>
<listitem>
<para>
Sort descending on field <replaceable>sort_field</replaceable>.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-t<replaceable> tally_lines</replaceable></term>
<listitem>
<para>
Tally totals every <replaceable>tally_lines</replaceable>lines.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-T<replaceable> title</replaceable></term>
<listitem>
<para>
Set report title to <replaceable>title</replaceable>.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>-w</term>
<listitem>
<para>
Wide output.
</para>
</listitem>
</varlistentry>

</variablelist>
</refsect1>

<refsect1>
<title>EXAMPLES</title>
<informalexample>
<para>
Provide a report on top source/destination IP pairs sorted by octets, report
in percent total form for the flows in <filename>/flows/krc4</filename>.
Use the preload option to flow-cat to preserve meta information and 
display it with flow-stat.
</para>
<para>
  <command>flow-cat -p /flows/krc4 | flow-stat -f10 -P -p -S4</command>
</para>
</informalexample>
</refsect1>

<refsect1>
<title>EXAMPLES</title>
<informalexample>
<para>
Many times a campus network will have a single border router which has
one interface pointing to the internal side and many interfaces pointing
to other providers.  These interfaces each have a unique numerical id
known in SNMP terms as an ifIndex.  The ifIndex to interface name mappings
can be determined by using a tool such as <application>snmpwalk</application>
or using show commands in recent versions of IOS with the
'show snmp mib ifmib ifindex' or JunOS 'show interfaces'.  Once the ifIndex
for each interface is known flow-filter can be combined with flow-stat to
provide reports such as inbound vs outbound top src/destination IP
addresses.

Provide a top source IP address report by outbound traffic, ie the top
senders of traffic on the campus network.  Assume the ifIndex of the
campus interface is 5.
</para>
<para>
  flow-cat -p /flows/krc4 | flow-filter -i5 | flow-stat -f9 -P -p -S3 
</para>
</informalexample>
</refsect1>

<refsect1>
<title>EXAMPLES</title>
<informalexample>
<para>
Provide a top destination IP address report by outbound traffic, ie the top
sinks of traffic on the campus network.  Assume the ifIndex of the
campus interface is 5.
</para>
<para>
  flow-cat -p /flows/krc4 | flow-filter -I5 | flow-stat -f8 -P -p -S3 
</para>
</informalexample>
</refsect1>

<refsect1>
<title>EXAMPLES</title>
<informalexample>
<para>
Provide a top source/destination AS report.  Use symbolic names.
</para>
<para>
  flow-cat -p /flows/krc4 | flow-stat -f20 -n -P -p -S4 
</para>
</informalexample>
</refsect1>


<refsect1>
<title>BUGS</title>
<para>
None known.
</para>
</refsect1>

<refsect1>
<title>AUTHOR</title>
<para>
<author>
<firstname>Mark</firstname>
<surname>Fullmer</surname>
</author>
<email>maf@splintered.net</email>
</para>
</refsect1>

<refsect1>
<title>SEE ALSO</title>
<para>
<application>flow-tools</application>(1)
</para>
</refsect1>

</refentry>
