man(1)

NAME
mptcpcrunch - Read in pcap containing a single MPTCP connection and output connection information.

SYNOPSIS
mptcpcrunch [-h] [-c] [-s] filename

DESCRIPTION
mptcpcrunch is a tool for outputting connection-level and subflow-level information for an MPTCP connection contained in filename. Only packets belonging to a single MPTCP connection should be present in filename, or else the output of mptcpcrunch will be unknown. The companion program mptcpsplit can be used to create a file containing only packets belonging to a single MPTCP connection that can then be used as input to mptcpcrunch.

EXAMPLES

mptcpcrunch filename
    Read in filename but do not output any connection or subflow information. This may still be useful to see if any other errors are thrown then reading in filename.

mptcpcrunch -s filename
    Read in filename and output information about the subflows seen and tracked in the file. See OUTPUT section for more information on what information is included.

mptcpcrunch -c filename
    Read in filename and output information about the MPTCP connection contained in the file. See OUTPUT section for more information on what information is included.

POSITIONAL ARGUMENTS

  Required arguments

filename
    filename is a pcap file containing packets for a single MPTCP connection. mptcpcrunch will read in this file, process its contents, and generate output based on the other options present at runtime. A pcap containing a single MPTCP connection can be created with the program mptcpsplit. Exactly one filename must be given, or else the program will exit on an error.

OPTIONS

  General options

-h  Print out a help dialog and exit.

-s  Process the packets in filename and write subflow-level information to stdout. Format for the output can be found in the OUTPUT section.

-c  Process the packets in filename and write connection-level information to stdout. Format for the output can be found in the OUTPUT section.

OUTPUT
There are currently two modes of output that can be generated, connection-level information and subflow-level information.

Connection-level information format
    Connection-level information includes three lines of output. The first line contains some meta information about the connection. The second and third lines contain information about each connection direction. Data in all three lines is labeled when output with the format "LABEL: DATA".

Subflow-level information format
    For each subflow in a connection, output three lines of output. The first line contains the subflow number. The second and third lines contain statistics on each direction for the subflow. Like connection-level information, all data is labeled when output.

LIMITATIONS
mptcpcrunch is still under development and may not work under certain conditions due to incomplete code. Known limitations include:

No IPv6 support
    Currently only IPv4 is supported. IPv6 support is planned for future releases.

Little-Endian Only
    mptcpcrunch has only been developed and tested on little-endian machines. Certain code (like bitfields) may need to be reworked to support big-endian machines.

SEE ALSO
mptcpsplit(1)

AUTHOR
Matt Sargent