我有以下代码:
$ipgiven = $argv[1];
//REGEX PATTERNS
$patternone = "/^\d{1,3}\.$/";
$patterntwo = "/\d{1,3}\.\d{1,3}\./";
$patternthree = "/\d{1,3}\.\d{1,3}\.\d{1,3}\./";
if(preg_match($patternthree, $ipgiven)){
echo "found depth of 3\r\n";
while($i!=255){
$ipo = $ipgiven . $i;
while($j!=255){
$ipd = $ipo . $j;
while($k!=255){
$ipt = $ipd . $k;
$checkme = $prefix . $ipt . $find;
checkurl($checkme);
$k++;
}
$j++;
}
$i++;
}
}
if(preg_match($patterntwo, $ipgiven)){
echo "found depth of 2\r\n";
while($i!=255){
$ipo = $ipgiven . $i;
while($j!=255){
$ipd = $ipo . $j;
$checkme = $prefix . $ipd . $find;
checkurl($checkme);
$j++;
}
$i++;
}
}
if(preg_match($patternone, $ipgiven)){
echo "found depth of 1\r\n";
while($i!=255){
$ipo = $ipgiven . $i;
$checkme = $prefix . $ipo . $find;
checkurl($checkme);
$i++;
}
}
如果某个目录存在,我想用它来检查 iprange。我已经制定了 curl 代码,但是我缺少的是我的 IP 生成算法。
我想通过以下方式调用脚本:php script.php 1.2.3。
然后脚本将遍历 1.2.3.1 -> 1.2.3.255 这可行,但是调用:php script.php 1.2。只进行 1.2.1 -> 1.2.255 的交互,这并不是真正的 iprange,这有点破坏我的程序。
有人可以帮忙吗?