LPI_ARFF(1)
πΈ NAME πΈ
Okay so welcome to the LPI_ARFF(1) page, bestie β yes, itβs in the User Commands section, and the main character is lpi_arff. This is the tool that outputs the application protocol of all network flows in a trace using the ARFF format. π
π SYNOPSIS π
lpi_arff inputuri
π DESCRIPTION π
Hereβs the vibe: this tool attempts to identify each individual flow within the provided network packet trace, using libprotoident to attempt to determine the application protocol being used by each flow. The output of this tool is written to standard output using the ARFF format so that it can be analysed easily using the Weka machine learning software. β¨
Important caveat, bestie: identification only occurs when the flow has concluded or expired due to inactivity, so it is not very effective for real-time use cases. π
The inputuri argument must be a valid libtrace URI. No cap. π«Ά
β¨ OUTPUT FORMAT β¨
The output begins with a series of lines describing each feature that will be used to describe each flow. Following that, for each flow in the input trace, a single line is printed to stdout describing the flow. That line contains the following comma-separated fields, in order: π
- Application protocol (as reported by
libprotoident) - ID number for the application protocol
- Total number of packets sent from first endpoint to second endpoint
- Total number of bytes sent from first endpoint to second endpoint
- Total number of packets sent from second endpoint to first endpoint
- Total number of bytes sent from second endpoint to first endpoint
- Minimum payload size sent from first endpoint to second endpoint
- Mean payload size sent from first endpoint to second endpoint
- Maximum payload size sent from first endpoint to second endpoint
- Standard deviation of payload size sent from first endpoint to second endpoint
- Minimum payload size sent from second endpoint to first endpoint
- Mean payload size sent from second endpoint to first endpoint
- Maximum payload size sent from second endpoint to first endpoint
- Standard deviation of payload size sent from second endpoint to first endpoint
- Minimum packet interarrival time for packets sent from first endpoint to second endpoint
- Mean packet interarrival time for packets sent from first endpoint to second endpoint
- Maximum packet interarrival time for packets sent from first endpoint to second endpoint
- Standard deviation of packet interarrival time for packets sent from first endpoint to second endpoint
- Minimum packet interarrival time for packets sent from second endpoint to first endpoint
- Mean packet interarrival time for packets sent from second endpoint to first endpoint
- Maximum packet interarrival time for packets sent from second endpoint to first endpoint
- Standard deviation of packet interarrival time for packets sent from second endpoint to first endpoint
- Flow duration (in microseconds)
- Flow start time (as a Unix timestamp)
π¦ LINKS π¦
More details about libprotoident, the protocols it supports, and how it works can be found at https://github.com/wanduow/libprotoident/wiki. Go read, iykyk. π
π SEE ALSO π
lpi_find_unknown(1), lpi_protoident(1)
π AUTHORS π
Shane Alcock <shane.alcock@waikato.ac.nz> π
And thatβs the whole page, bestie π β source/version: libprotoident, dated April 2019. Slay. π
π¦ where this page comes from
- nixos 26.05: libprotoident 2.0.15-2
- nixpkgs unstable: libprotoident 2.0.15-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms