`
王之子
  • 浏览: 104989 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP实现在线端口检测

php 
阅读更多

 PHP实现在线端口检测源代码

 

<?php
$youip = $_SERVER["REMOTE_ADDR"];        // 获取本机IP地址
$remoteip = isset($_POST['remoteip']) ? $_POST['remoteip']:'';            // 获取表单提交的IP地址
?>
<html>
<head>
<title>端口在线检测</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style TYPE="text/css">
BODY {FONT-SIZE: 12px; FONT-FAMILY: Verdana;color:#000000;}
TD {
    FONT-SIZE: 12px;
    FONT-FAMILY: Verdana;
    color:#000000;
    line-height: 14px;
}
.style1 {color: #FFFFFF}
</style>
</head>
<body>
<center>
<?php
function err() 
{
    die("对不起,该IP地址不合法<p><a href=javascript:history.back(1)>点击这里返回</a>");
}
if (!empty($remoteip))
{
// 如果表单不为空就进入IP地址格式的判断
// 定义提交错误IP的提示信息
$ips = explode(".",$remoteip);
// 用.分割IP地址
if (intval($ips[0])<1 or intval($ips[0])>255 or intval($ips[3])<1 or intval($ips[3]>255)) err();
// 如果第一段和最后一段IP的数字小于1或者大于255,则提示出错
if (intval($ips[1])<0 or intval($ips[1])>255 or intval($ips[2])<0 or intval($ips[2]>255)) err();
// 如果第二段和第三段IP的数字小于0或者大于255,则提示出错
$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'
);    
// 通过IP格式的检查后用数组定义各端口对应的服务名称及状态
echo <<<EOF
<table  border=0 cellpadding=15 cellspacing=0>
<tr>
<td align=center><strong>您扫描的IP:<font
color=red>{$remoteip}</font></strong></td>
</tr>
</table>
<table cellpadding=5 cellspacing=1 bgcolor=#636194>
<tr bgcolor=#7371A5 align=center>
<td><span class=style1>端口</span></td>
<td><span class=style1>服务</span></td>
<td><span class=style1>检测结果</span></td>
<td><span class=style1>描述</span></td>
</tr>
EOF;
// 输出显示的表格
for($i=0;$i<sizeof($port);$i++)
{
    $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>";
    } 
    else 
    {
        echo "<tr bgcolor=#F4F7F9><td align=center>".$port[$i]."</td><td>".$msg[$i]."</td><td
align=center>".$open."</td><td>".$opened."</td></tr>";
    }
}
// 用for语句,分别用fsockopen函数连接远程主机的相关端口,并输出结果
echo <<<EOF
<tr><td colspan=4 align=center>
<a href=portscan.php><font color=#FFFFFF>继续扫描>>></font></a></td>
</tr>
</table>
<TABLE cellSpacing=0 cellPadding=10 width=100% border=0>
<TR>
<TD align=center><b>Copyright © 2004 Security Angel Team[S4T] All Rights Reserved.</b></TD>
</TR>
</TABLE>
</center>
</body>
</html>
EOF;
exit;
}
// 探测结束
echo <<<EOF
<table  border=0 cellpadding=15 cellspacing=0>
<tr>
<td align=center><strong>您的IP:<font color=red>{$youip}</font></strong></td>
</tr>
<form method=POST action=a.php>
<tr><td>
<input type=text name=remoteip size=12>
<input type=submit value=检测 name=scan>
</td></tr>
</form>
</table>
EOF;
// 如果表单为空则显示提交IP地址的表单
?>
<TABLE cellSpacing=0 cellPadding=10 width="100%" border=0>
  <TR>
     <TD align=center><b>Copyright © 2018 All Rights Reserved.</b></TD>
  </TR>
</TABLE>
</center>
</body>
</html>

 

分享到:
评论

相关推荐

    php实现TCP端口检测的方法

    本文实例讲述了php实现TCP端口检测的方法。分享给大家供大家参考。具体如下: 该程序可以确认当前端口是否可用: &lt;?php class Health { public static $status; public function __construct() { } public ...

    基于C语言实现8位端口检测8独立按键(含源代码+使用说明).zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步...

    PHP程序开发范例宝典III

    实例014 Linux下实现PHP支持mysqli扩展技术 21 实例015 开机自动启动Apache服务 21 实例016 开机自动启动MySQL服务 22 实例017 Linux下发布“读者之家”网站 22 1.3 应用常用开发工具开发PHP程序 23 实例...

    网络扫描器的设计与实现

    网络扫描器的设计与实现 运行环境 操作系统:Windows XP及以上。 开发工具:Microsoft Visual C++6.0,Notepad++。 开发语言:C/C++, MFC。 主要功能模块测试 主机扫描功能模块测试 在主机扫描功能模块中,管理...

    nServer-v2.1023[FTP + MYSQL + HTTP + PHP(FCGI)]

    - 更新php监听端口,防止和一些下载软件端口冲突 2012年03月07日 - 更新vc9运行库,实现自动安装 - 取消eAccelerator加速器 - 添加XCache加速器 2012年03月06日 - 更新Nginx版本为1.0.13 - 分离二进制文件/配置...

    基于PHP开发的B站公开在线抽奖登记系统源码+数据库+运行说明(课程大作业).zip

    基于PHP开发的B站公开在线抽奖登记系统源码+数据库+运行说明(课程大作业).zip 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关...

    毕设&课设&项目&实基于Python-Django的多功能Web安全渗透测试工具,包含漏洞扫描,端口扫描.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    lvs+keepalives部署.txt

    如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。 Layer5:Layer5对指定的URL执行HTTP GET。然后使用MD5算法对HTTP GET结果进行求和。如果这个...

    awd-watchbird:适用于AWD的功能强大PHP WAF

    请求参数(GET / POST)关键字特殊字符深度防御:响应检测/反向代理(默认将流量发送到本地服务器自检,可配置代理服务器IP和端口实现反代功能)响应flag检测并返回虚假flag基于LD_PRELOAD的指令执行保护基于open_...

    毕设&课设&项目&实训-基于python2.7.13+django+mysql编写 .zip

    基于python2.7.13+django+mysql编写 前端使用layui框架 一款常用的web扫描器,主要提供子域名扫描,端口扫描,目录扫描,插件扫描的项目功能。还可单独检测插件等. 所有源码均经过严格测试,可以直接运行,可以放心...

    冰盾DDoS防火墙2010 V9.7

    冰盾防火墙来自IT技术世界一流的美国硅谷,由华人留学生Mr.Bingle Wang和Mr.Buick Zhang设计开发,采用国际领先的生物基因鉴别技术智能识别各种DDOS攻击和黑客入侵行为,防火墙采用微内核技术实现,工作在系统的最...

    飞蛙B2B2C商城电商系统 v2.1.8.zip

    实现多屏购物、分销等,给消费者带来全新的购物体验。 飞蛙B2B2C商城电商系统 v2.1.8 更新日志 修复相关细节BUG,增加商品的微信分享功能。 飞蛙商城系统特性 FeiWa B2B2C借鉴了国内外优秀的开源程序与开发模式...

    office 电子签名控件

    可以准确检测有效的签名,还可以做到对有效签名进行特显,使得更形象展示有效的签名. 11.控件电子盖章功能实现印章或签名资源预保存功能,用户可以通过密码的方式来获得自己的签名或印章,印章和签名与 文档保存在...

    易想会员管理营销系统

    同时,方便的在线升级控制可以让使用者随时更新最新的版本,与我们最新的版本保持同步。易想会员管理系统功能:1、门店:门店列表、门店分类、门店管理员。2、会员:新增会员、会员快速查找、会员黑名单设置、会员...

    HadSky轻论坛

    15.大幅度升级邮箱功能,PHPMailer升级为最新版,添加端口设置和调试模式功能,去除了发信格式设置。16.修复手机号注册页面500的bug;17.修复邮件插件默认引擎php7版本下报提示的问题;18.修复手机号登录的提示逻辑...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

Global site tag (gtag.js) - Google Analytics