|+ Active multicast probes|
|+ Passive monitoring of Duplicate Address Detection (DAD) traffic|
|+ Address generation heuristics|
ipv6mon regularly sends multicast probe packets to the all-nodes link-local multicast address (ff02::1), such that it can discover new attached nodes. Two different types of probe packets are used:
+ Regular ICMPv6 Echo Request packets + ICMPv6 packets with an unsupported IPv6 option of type 10xxxxxx
Regular ICMPv6 Echo Request packets elicit ICMPv6 Echo Response packets from all local nodes that normally respond to such packets. On the other hand, ICMPv6 packets including an unsupported option of type 10xxxxxx elicit ICMPv6 Parameter Problem error messages, and can be effective to discover nodes that do not usually respond to multicast ICMPv6 echo requests.
Both multicast probe packets are sent with different Source Addresses, such that they elicit responses from different addresses (as a result of the default IPv6 Source Address selection policy). Hence. all (or most) addresses of each node can be discovered.
Passive monitoring of Duplicate Address Detection (DAD) traffic
ipv6mon also monitors IPv6 Duplicate Address Detection (DAD) traffic, such that all newly configured addresses are discovered as soon as possible.
Address generation heuristics
Whenever an active address is detected, heuristics are performed to discover other addresses in use by the same node. Namely, the Interface-ID of the newly discovered address is used with all other local prefixes to form "candidate" addresses (addresses that might be in use in the local network). Thus, it is possible for ipv6mon to discover active addresses even if they are not used to send traffic on the local network (e.g., discover traditional SLAAC addresses used by hosts that employ “Privacy Addresses”).
Most of the operation parameters of the ipv6mon tool can be configured by the system administrator through the corresponding configuration file. Some of them can be configured through command-line options.
-c file, --config-file file This option specifies the pathname of the ipv6mon configuration file, to be used instead of the default /etc/ipv6mon.conf. -q, --show-config This option causes ipv6mon to read the configuration file and output the different parameters that would result from that configuration. When this option is set, ipv6mon will exit immediately after the configuration parameters have been printed on standard output. -v, --verbose This option causes ipv6mon to read the configuration file and output the different parameters that would result from that configuration. When this option is set, ipv6mon will exit immediately after the configuration parameters have been printed on standard output. -h, --help This option causes ipv6mon to print usage information on standard output.
/etc/ipv6mon.conf ipv6mon configuration file. See ipv6mon.conf(5) for further details.
The ipv6mon tool and the corresponding manual pages were produced by Fernando Gont <firstname.lastname@example.org>.
Copyright (c) 2011-2012 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 the Invariant Sections being just "AUTHOR" and "COPYRIGHT", with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at <http://www.gnu.org/licenses/fdl.html>.