PHP实现调用必应旁站C段查询

<?php

print_r( 
" 
+------------------------------------+ 


旁站 and C段查询 
By :Sunshie 
Blog:https://phpinfo.me/

Example: 
php.exe $argv[0] -p ip地址(查询旁站)
php.exe $argv[0] -c ip地址(查询C段)

 
结果保存在ok.txt里面!
+------------------------------------+ 
\r\n\r\n\r\n" 
); 
if(empty($argv[2])) exit("ip地址呢"); 
$ip=gethostbyname($argv[2]);
switch($argv[1]){
 case "-p":
     bing($ip);
	 break;
 case "-c":
     c($ip);
        break; 
  default:
    echo "错误:[ -p ip]地址为查询旁站,[-c ip]地址为查询C段";


}
function c($sb){


$str=(explode(".",$sb)); 



for($vip=1;$vip<=255;$vip++){ 

$newip=$str[0].".".$str[1].".".$str[2].".".$vip; 
echo "正在查询$newip-------------\r\n"; 
bing($newip); 


}


 }
$file=file("ok.txt");
	echo "\r\nok.txt查询到".count($file)."个";

function bing($ip){

$first=1;

	do {
   ini_set('user_agent', 'Baiduspider');
   $a=file_get_contents("http://www.bing.com/search?count=50&q=ip%3a$ip&qs=n&pq=ip%3a$ip&sc=0-0&sp=-1&sk=&first=".$first."&FORM=PQRE");
   $a=mb_convert_encoding($a, "GBK", "UTF-8");
   $first+=50;
   preg_match_all("/<h3><a href=\"(.*)<\/a><\/h3>/isU",$a,$arr);
  preg_match_all("/<h3><a href=\"(.*)\" target=\"_blank/isU",$a,$urlarr);
   $arr[1] = preg_replace('/\" target=\"_blank\"(.*).1\">/isU','-----------',$arr[1]);
   unset($arr[0]);
   foreach ($arr as $key=>$r){
     foreach ($r as $k=>$rc){
	//$ab=mb_convert_encoding($rc, "GBK", "UTF-8");
	 
	 //echo "$rc\r\n";
	 //file_put_contents("ok.txt", $rc."\r\n",FILE_APPEND);
	  //echo $first."\n";
	   $arrs = parse_url($rc);
	 
	 echo $arrs['host']."\r\n";
	 file_put_contents("ok.txt", $arrs['host']."\r\n",FILE_APPEND);
	
	 }
    }
	


  
} while (strpos($a,">下一页</a></li></ul></div>"));

}


?>

效果如下

 

wooyun

文 / admin
3 COMMENTS
  1. 2014/04/14
    zhang

    代码有错

  2. 2014/04/14
    zhang

    63行报错

    • admin
      2014/04/15
      admin
      @zhang php环境问题
LEAVE A REPLY

loading