Hi,
I've extended ipv6calc with filter capabilities for the pipe mode, e.g.
you can filter from a big list of IP(v4|v6) addresses the one you want
depending on type, e.g.
./ipv6calc -q -m -i 2001:db8:0:1:2c73:ffff:1234:5678 | grep TYPE
IPV6_TYPE=unicast,global-unicast,productive,iid-privacy,iid,iid-local
$ echo "2001:db8:0:1:2c73:ffff:1234:5678" | ./ipv6calc -A filter -E
iid-local
2001:db8:0:1:2c73:ffff:1234:5678
and as you see, this address was also detected as being a generated
privacy one (which is in this case a not so good example...one of the
minor false-positives).
Filter also supports negation by leading "^" and also more of one filter
is configurable like:
cat <file> | ./ipv6calc -F -A filter -E ^iid-privacy,^iid-eui48
Online help and documentation lacks still a little behind :-(
The iid-privacy detector catches over 99.9% of 1 million generated ones.
So one can now test whether his system uses a generated IID based on
privacy extension by browsing to:
http://mirrors.bieringer.de/cgi-bin/ipv6calcweb.cgi
if IPV6_TYPE contains iid-privacy, the detector means the IID is such a one.
Happy testing.
BTW:
If you will contribute on improvement of the IID privacy extension
detection, see undocumented script:
test_privacyiid_detection.sh
This can create a bunch of privacy extension based addresses and
detection code in lib/libipv6addr.c (ipv6addr_privacyextensiondetection)
Currently I've implemented some simple statistical analysis only...
I plan to release 0.94.0 in the next weeks.
Regards,
Peter