当前位置: 开源爱好者 » 编程教程 » PHP教程 » 正文

PHP 端口在线检测代码

PHP 端口在线检测代码,里面包括了获取本机IP地址、分割IP地址、判断端口状态、在PHP中输出表格、用fsockopen函数连接远程主机的相关端口,并输出结果等功能,在PHP环境下,直接扫描服务器或指定IP的端口情况:

 

<?php
$myIp = $HTTP_SERVER_VARS["REMOTE_ADDR"];// 获取本机IP地址
$remoteIp = $HTTP_POST_VARS['remoteip'];// 获取表单提交的IP地址
if (!empty($remoteIp)){ // 如果表单不为空就进入IP地址格式的判断
function err() {
    die("请输入合法的ip地址<p><a href=javascript:history.back(1)>返回重新输入</a>");
}
$ips=explode(".",$remoteIp);// 用.分割IP地址
// 如果第一段和最后一段IP的数字小于1或者大于255,则提示出错
if (intval($ips[0])<1 or intval($ips[0])>255 or intval($ips[3])<1 or intval($ips[3]>255)) err();
// 如果第二段和第三段IP的数字小于0或者大于255,则提示出错
if (intval($ips[1])<0 or intval($ips[1])>255 or intval($ips[2])<0 or intval($ips[2]>255)) err();
$closed='该端口当前为关闭状态。';
$opened='<font color=red>该端口当前为开启状态!</font>';
$close="关闭";
$open="<font color=red>打开</font>";
$port=array(21,23,25,79,80,110,135,137,138,139,143,443,445,1433,3306,3389);
$msg=array(
    'Ftp',
    'Telnet',
    'Smtp',
    'Finger',
    'Http',
    'Pop3',
    'Location Service',
    'Netbios-NS',
    'Netbios-DGM',
    'Netbios-SSN',
    'IMAP',
    'Https',
    'Microsoft-DS',
    'MSSQL',
    'MYSQL',
    'Terminal Services'
);
//输出显示的表格
echo "<table  border=0 cellpadding=15 cellspacing=0>\n";
echo "<tr>\n";
echo "<td align=center><strong>您扫描的IP:<font color=red>".$remoteIp."</font></strong></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "<table cellpadding=5 cellspacing=1 bgcolor=#636194>\n";
echo "<tr bgcolor=#aaaaff align=center>\n";
echo "<td><span class=style1>端口</span></td>\n";
echo "<td><span class=style1>服务</span></td>\n";
echo "<td><span class=style1>检测结果</span></td>\n";
echo "<td><span class=style1>描述</span></td>\n";
echo "</tr>\n";
for($i=0;$i<sizeof($port);$i++)//用for语句,分别用fsockopen函数连接远程主机的相关端口,并输出结果
{
    $fp = @fsockopen($remoteIp, $port[$i], &$errno, &$errstr, 1);
    if (!$fp) {
        echo "<tr bgcolor=#FFFFFF><td align=center>".$port[$i]."</td><td>".$msg[$i]."</td><td align=center>".$close."</td><td>".$closed."</td></tr>\n";
    } else {
        echo "<tr bgcolor=#F4F7F9><td align=center>".$port[$i]."</td><td>".$msg[$i]."</td><td align=center>".$open."</td><td>".$opened."</td></tr>";
    }
}
echo "<tr bgcolor=#aaaaff><td colspan=4 align=center>\n";
echo "<a href=index.php><font color=#FFFFFF>继续扫描>>></font></a></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "<TABLE cellSpacing=0 cellPadding=10 width=100% border=0>\n";
echo "</TABLE>\n";
echo "</center>\n";
echo "</body>\n";
echo "</html>\n";
exit;
}
echo "<table  border=0 cellpadding=15 cellspacing=0>\n";
echo "<tr>\n";
echo "<td align=center><strong>您的IP:<font color=red>".$myIp."</font></strong></td>\n";
echo "</tr>\n";
echo "<form method=post action=index.php>\n";
echo "<tr><td>\n";
echo "<input type=text name=remoteip size=12>\n";
echo "<input type=submit value=开始扫描 name=scan>\n";
echo "</td></tr>\n";
echo "</form>";
echo "</table>\n";
?>

 

可将本代码插入到PHP后缀的HTML中,然后再配合CSS美化输出结果。

CopyRight 2015© 开源爱好者 All Rights Reserved 豫ICP备16030607号 隐私声明 网站地图