FLOW6(1)
π NAME π
flow6 β the security assessment tool for the IPv6 Flow Label field. She's part of the SI6 Networks' IPv6 Toolkit, and she is lowkey iconic. π
π¦ SYNOPSIS π¦
flow6 [-i INTERFACE] -d DST_ADDR [-S LINK_SRC_ADDR] [-D LINK_DST_ADDR]
[-s SRC_ADDR[/LEN]] [-A HOP_LIMIT] [-P PROTOCOL] [-p PORT] [-W] [-v]
[-h]
β¨ DESCRIPTION β¨
okay so bestie, flow6 does a security assessment of the Flow Label generation policy of a target node. It's part of the SI6 Networks' IPv6 Toolkit β literally a whole security assessment suite for the IPv6 protocols. π
So how does she work? flow6 sends a bunch of probe packets to the target node, and then samples the Flow Label values of the corresponding response packets. Based on those sampled values, she tries to infer the Flow Label generation policy of the target. no cap. π₯
The tool will first send a number of probe packets from single IPv6 address, so the per-destination policy gets determined. Then it sends probe packets from random IPv6 addresses (from the same prefix as the first probes) so the "global" Flow Label generation policy can be determined. two vibes, one tool. β¨
Then the tool computes the expected value and the standard deviation of the difference between consecutive-sampled Flow Label values (Labeln - Labeln-1) β all with the intent of inferring the Flow Label generation algorithm of the target node. π§
Here's the tea on what the numbers mean:
- If the standard deviation of
[Labeln - Labeln-1]is0, the Flow Label is assumed to be set to a constant value, and the corresponding value is informed to the user. π consistent queen. - For small values of the standard deviation, the Flow Label is assumed to be a monotonically-increasing function with increments of the "expected value", and such "expected value" together with the standard deviation, are informed to the user. π
- For large values of the standard deviation, the Flow Label is assumed to be randomized, and the expected value and standard deviation are informed to the user, as indicators of the "quality" of the Flow Label generation algorithm. π²
π OPTIONS π
flow6 takes it parameters as command-line options. Each of the options can be specified with a short name (one character preceded with the hyphen character, as e.g. -i) or with a long name (a string preceded with two hyphen characters, as e.g. --interface). yes she supports both, she's flexible like that. π«Ά
-i INTERFACE,--interface INTERFACEβ This option specifies the network interface that the tool will use. If the destination address (-doption) is a link-local address, the interface must be explicitly specified. The interface may also be specified alon with a destination address, with the-doption. πΈ-s SRC_ADDR,--src-address SRC_ADDRβ This option specifies the IPv6 source address (or IPv6 prefix) to be used for the Source Address of the probe packets. If an IPv6 prefix is specified, the IPv6 Source Address of the ICMPv6 packets will be randomized from that prefix. β¨-d DST_ADDR,--dst-address DST_ADDRβ This option specifies the IPv6 Destination Address of the target node. This option cannot be left unspecified. π¨ like fr fr, she needs it.-A HOP_LIMIT,--hop-limit HOP_LIMITβ This option specifies the Hop Limit to be used for the IPv6 packets. By default, the Hop Limit is randomized. π²-S SRC_LINK_ADDR,--src-link-address SRC_LINK_ADDRβ This option specifies the link-layer Source Address of the probe packets (currently, only Ethernet is supported). If left unspecified, the link-layer Source Address of the packets is set to the real link-layer address of the network interface. π¦-D DST_LINK_ADDR,--dst-link-address DST_LINK_ADDRβ This option specifies the link-layer Destination Address of the probe packets (currently, only Ethernet is supported). By default, the link-layer Destination Address is automatically set to the link-layer address of the destination host (for on-link destinations) or to the link-layer address of the first-hop router. π-P PROTOCOL,--protocol PROTOCOLβ This option specifies the protocol type of the probe packets. Currently, both"UDP"and"TCP"are supported. If this option is left unspecified, the protocol type defaults to"TCP". π-p PORT,--dst-port PORTβ This option specifies the Destination Port of the probe packets. If left unspecified, the Destination Port defaults to"80"when the IPv6 payload is TCP, and to53if the IPv6 payload is UDP. π
Note: Since it is vital for the tool to receive response packets to be able to infer the Flow Label algorithm of the target, the protocol type and Destination Port should be carefully selected (i.e., the corresponding protocol and Destination Port should not be filter, and the target should respond to packets sent to that protocol/port). π¨ choose wisely bestie.
-W,--flow-label-policyβ This option instructs the tool to determine the Flow Label generation policy. As of this version of the tool, this option must be specified. periodt. π-v,--verboseβ This option instructs theflow6tool to be verbose. If this option is set twice, the tool is "very verbose", and outputs the sampled Flow Label values (in addition to other information). π-h,--helpβ Print help information for theflow6tool. π«Ά
π EXAMPLES π
The following sections illustrate typical use cases of the flow6 tool.
π Example #1
# flow6 -i eth0 --flow-label-policy -d fe80::1 -v
Assess the Flow Label generation policy of the host "fe80::1", using the network interface "eth0". Probe packets are TCP segments directed to port 80 (default). Be verbose. In this example, since the IPv6 destination address is a link-local address, the network interface must be explicitly specified. π
π Example #2
# flow6 -d 2001:db8::1 --flow-label-policy -P TCP -p 22 -vv
Assess the Flow Label generation policy of the host "2001:db8::1". Probe packets are TCP segments directed to port 22. Be very verbose (i.e., list the sampled Flow Label values). π
πΈ AUTHOR πΈ
The flow6 tool and the corresponding manual pages were produced by Fernando Gont <fgont@si6networks.com> for SI6 Networks <http://www.si6networks.com>. king behavior. π
π COPYRIGHT π
Copyright (c) 2011-2013 Fernando Gont.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at <http://www.gnu.org/licenses/fdl.html>.
and that's the whole page bestie!! π«Ά this one's from the General Commands Manual, FLOW6(1) β she's been serving Flow Label forensics since the 2011β2013 copyright era and she still ate. mwah, go probe something. π
β¨
π¦ where this page comes from
- debian bookworm: ipv6toolkit 2.0+ds.1-2+b1 Β· GPL-2.0-or-later
- debian trixie: ipv6toolkit 2.0+ds.1-2+b2 Β· GPL-2.0-or-later
- epel 10: ipv6toolkit 2.2-2.el10_1 Β· GPL-3.0-or-later AND GFDL-1.3-no-invariants-or-later AND MPL-2.0
- epel 9: ipv6toolkit 2.2-2.el9 Β· GPL-3.0-or-later AND GFDL-1.3-no-invariants-or-later AND MPL-2.0
- fedora 43: ipv6toolkit 2.2-3.fc43 Β· GPL-3.0-or-later AND GFDL-1.3-no-invariants-or-later AND MPL-2.0
- fedora 44: ipv6toolkit 2.2-4.fc44 Β· GPL-3.0-or-later AND GFDL-1.3-no-invariants-or-later AND MPL-2.0
- ubuntu jammy: ipv6toolkit 2.0+ds.1-1 Β· GPL-2.0-or-later
- ubuntu noble: ipv6toolkit 2.0+ds.1-2build2 Β· GPL-2.0-or-later
- ubuntu questing: ipv6toolkit 2.0+ds.1-2build2
- ubuntu resolute: ipv6toolkit 2.0+ds.1-2build3 Β· GPL-2.0-or-later
- ubuntu stonking: ipv6toolkit 2.0+ds.1-2build3 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms