据说 XYZ 域名能免费注册。赶紧写了个批量扫描未注册域名的程序

<?php
print_r("
+------------------------------------+
Domian Scan
By :MEIAM
blog:http://www.592.la
Example: php.exe $argv[0] xyz 3 0
+------------------------------------+
rn");
class SearchDomain {
    var $domain = "";
    function SetDomain($udomain) {
        $this->domain = $udomain;
    }
    //
    // 获取whois并分析域名状态
    // ok 未被注册
    // 非空值 过期时间
    // 空值 未知
    //
    function GetInfo() {
        /*
                $dinfo = trim($this->GetWhois());
                if($dinfo=="") return "";
                if(eregi("no match",$dinfo)) return "ok";
        //return $rs;
        */
        $wl = "";
        $w_server = $this->GetServer();
        if ($w_server == "") return "";
        $fp = fsockopen($w_server, 43, $errno, $errstr, 30);
        if (!$fp) {
            echo $errstr;
            return "";
        }
        $out = $this->domain . "rn";
        $out.= "Connection: Closernrn";
        fputs($fp, $out);
        while (!feof($fp)) {
            $wl = fgets($fp, 255);
            if (eregi("no match", $wl)) {
                fclose($fp);
                return "ok";
            }
            if (eregi("DOMAIN NOT FOUND", $wl)) {
                fclose($fp);
                return "ok";
            }
            if (eregi("Expiration Date", $wl)) {
                $lines = split(":", $wl);
                $t = trim($lines[1]);
                $ts = split(" ", $t);
                $t = $ts[0];
                if (ereg("[^0-9-]", $t)) {
                    $ts = split("-", $t);
                    $t = $ts[2] . "-" . $this->MonthToNum($ts[1]) . "-" . $ts[0];
                }
                fclose($fp);
                return $t;
            }
        }
        fclose($fp);
        return "";
    }
    //
    //获得域名的整个whois信息
    //
    function GetWhois() {
        $wh = "";
        $w_server = $this->GetServer();
        if ($w_server == "") return "";
        $fp = fsockopen($w_server, 43, $errno, $errstr, 30);
        if (!$fp) {
            echo $errstr;
            return "";
        }
        $out = $this->domain . "rn";
        $out.= "Connection: Closernrn";
        fputs($fp, $out);
        while (!feof($fp)) {
            $wh.= nl2br(fgets($fp, 255));
        }
        fclose($fp);
        return $wh;
    }
    //
    //输出当前域名的状态信息
    //
    function PrintSta() {
        $rs = $this->GetInfo();
        if ($rs == "ok") echo $this->domain . " 未注册!
rn";
        else if ($rs == "") echo "无法查询 " . $this->domain . " 状态!
rn";
        else echo $this->domain . " 已注册,到期时间:$rs
rn";
    }
    //
    //获得 whois 查询服务器
    //
    function GetServer() {
        $udomain = substr($this->domain, -3);
        switch ($udomain) {
            case "com":
                $w_server = "whois.internic.net";
                break;
 
            case "net":
                $w_server = "whois.internic.net";
                break;
 
            case "org":
                $w_server = "whois.pir.org";
                break;
 
            case "nfo":
                $w_server = "whois.afilias.info";
                break;
 
            case "biz":
                $w_server = "whois.biz";
                break;
 
            case ".cc":
                $w_server = "whois.nic.cc";
                break;
 
            case "edu":
                $w_server = "whois.educause.net";
                break;
 
            case "gov":
                $w_server = "whois.nic.gov";
                break;
 
            case ".cn":
                $w_server = "whois.cnnic.net.cn";
                break;
 
            case "xyz":
                $w_server = "whois.nic.xyz";
                break;
 
            default:
                $w_server = "";
        }
        return $w_server;
    }
    //
    //英语的月份转为数字
    //
    function MonthToNum($m) {
        $m = strtolower($m);
        for ($i = 1; $i <= 12; $i++) { $tt = mktime(0, 0, 0, $i + 1, 0, 2005); if ($m == strtolower(strftime("%b", $tt))) { if ($i > 9) return $i - 1;
                else return "0" . $i - 1;
            }
        }
    }
}
$End = isset($argv[1]) ? $argv[1] : "xyz";
$Len = isset($argv[2]) ? $argv[2] : 3;
$Interface = isset($argv[3]) ? $argv[3] : 1;
$File = "$End.txt";
echo "You scan the domain name suffix: $End  Length : $Lenrn";
while (true) {
    if ($Interface == 0) {
        $Domian = strDomian($Len) . "." . $End;
        echo "rScan : $Domian ";
        $sd = new SearchDomain();
        $sd->SetDomain($Domian);
        $rs = $sd->GetInfo();
        if ($rs == "ok") {
            echo " Unregistered ,  === >  $File rn";
            file_put_contents($File, $Domian . "rn", FILE_APPEND);
        }
        sleep(4);
    }
    if ($Interface == 1) {
        $Domian = strDomian($Len) . "." . $End;
        $Api = "http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" . $Domian;
        echo "rScan : $Domian ";
        $Url = file_get_contents($Api);
        preg_match("/(.*)</returncode>/", $Url, $code);
        preg_match("/(.*)</original>/", $Url, $arr);
        //print_r($arr);
        if (@$code['1'] == "200") {
            if (@$arr['1'] == "210 : Domain name is available") {
                echo " Unregistered ,  === >  $File rn";
                file_put_contents($File, $Domian . "rn", FILE_APPEND);
            }
        } else {
            print_r("rn");
            print_r($code);
            print_r("rn");
            print_r($arr);
        }
        sleep(4);
    }
}
function strDomian($length = 3) {
    $chars = '0123456789';
    //$chars = 'abcdefghijklmnopqrstuvwxyz0123456789_';
    $password = "";
    for ($i = 0; $i < $length; $i++) {
        $password.= $chars[mt_rand(0, strlen($chars) - 1) ];
    }
    return $password;
}
?>