its HEX
so a-f and 0-9
8 sets off 4s
so 0000:0000:0000:0000:0000:0000:0000:0000 - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
it can also be shorten down. like 0000 is written like this ::
so 0000:0000:0000:0000:0000:0000:0000:0000 is realy :: in short format
to put that in on a real ip context
2001:470:dc100::100
is short for 2001:0470:dc100:0000:0000:0000:0000:0100
so a zero at a start can be removed withouut adding a :
a full sets off 0 in a line 00000 is ::
:: can only be used onces so ::: is invalid
if you want to test ipv6 you can get a free tunnel from http://tunnelbroker.net/
(IPv6 in hex gives enough ips to every corn off sand ine the world, had it been a-z it would be every atom in the universe)
a few litte things that would be good.
Dont print ip in url so that i can mod it to only scan port like
then it checks the remote_addr and prints out.
now it gives ip which gives the end user ability to scan others, which is a unwatned effect.
2nd
for ipv6
have it check the inputet add is ipv6
if so add []
bez to define a port in ipv6 it has to be in []
like 2001:470:dc100::100
is a valid ipv6
to define a port in there has to be like this [2001:470:dc46::2]:port
now when enter a straigt v6 it just adds the : at the end which is not a port but rather a new address lengt.