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