PHP是种功能强大Web开发语言开发效率高语法简单为动态网站WebSite量身定做加强面向对象(向C靠拢和Java搭了点边)可惜单线程(这是至命弱点据说PHP是用C\\C编写)也能用C、C、JAVA开发中间层COM服务器维护难度小故障少
既然是为动态网站WebSite量身定做所以注定不能开发出X-scan这样超强扫描器不过如果要实现些简单功能还是绰绰有余
端口扫描是我们最常用踩点手段如果在网吧这种地方下载个专门扫描器又比较麻烦如果利用现有Web服务提供端口扫描那可真是省了不少事
下面我们就看看我写这个PHP端口扫描器源代码:
$youip=$HTTP_SERVER_VARS[\"REMOTE_ADDR\"];//获取本机IP地址
$remoteip=$HTTP_POST_VARS[’remoteip’];//获取表单提交IP地址
?>
(!empty($remoteip)){
//如果表单不为空就进入IP地址格式判断
functionerr{
die(\"对不起该IP地址不合法
点击这里返回\");
}
//定义提交IP提示信息
$ips=explode(\".\",$remoteip);
//用.分割IP地址
(val($ips[0])<1orval($ips[0])>255orval($ips[3])<1
orval($ips[3]>255))err;
//如果第段和最后段IP数字小于1或者大于255则提示出错
(val($ips[1])<0orval($ips[1])>255orval($ips[2])<0
orval($ips[2]>255))err;
//如果第 2段和第 3段IP数字小于0或者大于255则提示出错
$closed=’此端口目前处于关闭状态’;
$opened=’此端口目前处于打开状态!’;
$close=\"关闭\";
$open=\"打开\";
$port=.gif' />(21,23,25,79,80,110,135,137,138,139,143,443,445,1433,3306,3389);
$msg=.gif' />(
’Ftp’,
’Telnet’,
’Smtp’,
’Finger’,
’Http’,
’Pop3’,
’LocationService’,
’Netbios-NS’,
’Netbios-DGM’,
’Netbios-SSN’,
’IMAP’,
’Https’,
’Microsoft-DS’,
’MSSQL’,
’MySQL’,
’TerminalServices’
);
//通过IP格式检查后用定义各端口对应服务名称及状态
echo\"\\n\";
echo\"\\n\";
echo\"您扫描IP:
color=red>\".$remoteip.\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"端口\\n\";
echo\"服务\\n\";
echo\"检测结果\\n\";
echo\"描述\\n\";
echo\"\\n\"; [Page]
//输出显示表格
for($i=0;$i
{
$fp=@fsockopen($remoteip,$port[$i],&$errno,&$errstr,1);
(!$fp){
echo\"\".$port[$i].\"\".$msg[$i].\"
align=center>\".$close.\"\".$closed.\"\\n\";
}{
echo\"\".$port[$i].\"\".$msg[$i].\"
align=center>\".$open.\"\".$opened.\"\";
}
}
//用for语句分别用fsockopen连接远程主机相关端口并输出结果
echo\"\\n\";
echo\"继续扫描>>>\\n\";
echo\"
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"Copyright©2004Security
AngelTeam[S4T]AllRightsReserved.\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"
\\n\";
echo\"\\n\";
echo\"\\n\";
exit;
}
//探测结束
echo\"\\n\";
echo\"\\n\";
echo\"您IP:\".$youip.\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\\n\";
echo\"\";
echo\"\\n\";
//如果表单为空则显示提交IP地址表单
?>
Copyright©2004SecurityAngelTeam[S4T]
AllRightsReserved.
后记
这个扫描器很简单就是用了个来定义端口相关信息原理就是用fsockopen连接如果可以连接就表示端口打开否则就是关闭
最大缺点就是PHP是单线程所以速度会很慢这个是用方便、简单作为代价其实写这个代码就是想告诉大家PHP并不仅仅用于动态网站WebSite开发也可以用于网络安全领域往往太注意事物本职工作就会忽略其他方面特点
最新评论