Quantcast
Channel: High On PHP » ipv6
Viewing all articles
Browse latest Browse all 2

IPv6 Generator

$
0
0

Background – IPv6

A good systems/security/network administrator has a slew of tools up their sleeves to support their specialty. Unfortunately, many tools still do not support IPv6; those that do put a hurting on your wallet. The below was used to test connectivity across a router using iptables, to make sure the IPv6 addresses were successfully blocked.

The IPv6 Generator

<?php
$startime = microtime(true);

$prefix = "fe80:1234:";
$octets = 6;
$fin = pow($octets, 65536);
echo "Resolving $fin IPv6 Addresses\n\n";

for($i = 0; $i<= $fin;$i++){
        $oct = dechex($i);
        $addytmp = str_pad($oct, ($octets*3), "0", STR_PAD_LEFT);
        $addytmp = str_split($addytmp, 4);
        $addy = implode(":", $addytmp);
        echo $prefix.$addy."\n";
}

echo "It took ".(microtime(true)-$startime)." seconds";

Other Uses

You can even do something like the following to test IPv6 ranges for port scanning:

<?php
$prefix = "fe80:1234:";
$octets = 6;
$fin = pow($octets, 65536);

for($i = 0; $i<= $fin;$i++){
        $oct = dechex($i);
        $addytmp = str_pad($oct, ($octets*3), "0", STR_PAD_LEFT);
        $addytmp = str_split($addytmp, 4);
        $addy = implode(":", $addytmp);
        $fs = fsockopen($addy, 22);
        if($fs){
              echo $addy." has port 22 open\n"; 
        }

        fclose($fs);
}

How long does it take you to run the above?

Update: I will be updating this script shortly to support automatic detection of provided octets and adding a multiplier to speed it up.


Viewing all articles
Browse latest Browse all 2

Trending Articles