PHP中怎么实现在线端口扫描功能
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这期内容当中小编将会给大家带来有关PHP中怎么实现在线端口扫描功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。PHP4/5/7版本中提供了fsockopen方法,
千家信息网最后更新 2025年02月02日PHP中怎么实现在线端口扫描功能
这期内容当中小编将会给大家带来有关PHP中怎么实现在线端口扫描功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
PHP4/5/7版本中提供了fsockopen方法,该方法用于打开一个网络连接或者一个Unix套接字连接,也可以用来进行开放端口扫描。
使用fsockopen()方法我们可以设计以下思路来实现开放端口检测:
1.获取目标IP地址以及待扫描的端口列表。
2.使用For循环遍历带扫描的端口数组,讲目标IP地址与端口进行拼接。
3.使用fsockopen()函数进行探测:通过Timeout参数进行判断:若超过1s无响应则视作端口未开放。
4.考虑到端口扫描功能的特殊性,可能会存在SSRF漏洞,因此需要对SSRF漏洞进行防护。
开放端口扫描实现出的代码如下:
function getOpenPort($ip,$port){ $msg = array('Ftp','Telnet','Smtp','Finger','Http','Pop3','Location Service','Netbios-NS','Netbios-DGM','Netbios-SSN','IMAP','Https','Microsoft-DS','MSSQL','MYSQL'); foreach ($port as $key => $value){ echo $value.'&nbsp&nbsp'; echo $msg[$key].'&nbsp&nbsp'; $fp = @fsockopen($ip,$value,$errno,$errstr,0.5); $result = $fp ? '<开启>
' : '<关闭>
'; echo $result;
针对于SSRF漏洞防护我们给出的方案是:创建IP黑名单,屏蔽内网IP,防止扫描内网IP地址
针对以上方案,我们写出的防护代码如下:
$blackHostlist = array("172.", "10.", "localhost", "127.", "192.");foreach($blackHostlist as $blackHost){ if(strpos($ip, $blackHost) === 0){ echo ''; die(); }}
同时设计一个前端的表单来接受用户传送的参数:
# index.html
最终的PHP后端代码如下:
$value){ echo $value.'&nbsp&nbsp'; echo $msg[$key].'&nbsp&nbsp'; $fp = @fsockopen($ip,$value,$errno,$errstr,0.5); $result = $fp ? '<开启>
' : '<关闭>
'; echo $result; $url = $_POST['ip']; $port = $_POST['port']; $blackHostlist = array("172.", "10.", "localhost", "127.", "192."); foreach($blackHostlist as $blackHost){ if(strpos($ip, $blackHost) === 0){ echo ''; die(); } } getOpenPort($ip,$port);
最终运行效果如下(前端UI进行了美化处理):
上述就是小编为大家分享的PHP中怎么实现在线端口扫描功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
端口
地址
开放
功能
代码
方法
漏洞
目标
防护
在线
内容
前端
参数
方案
分析
设计
特殊
专业
中小
内容丰富
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术的风险特性
数据库好找工作嘛
医院开展网络安全等级保护测评
系统软件开发步骤
gps网络安全
展示网络安全成就
无线网络技术主要领域
网络安全文字如何写
服务器系统集成哪家好
软件开发培训完的感受
工行总行软件开发中心6
is提示连接服务器失败
传奇连接服务器已断开
辽宁科技学院互联网直播大赛
mac代理服务器配置命令
服务器玩家素质
文科生学计算机网络技术
gbase数据库怎么释放表空间
网络安全技术实训报告200字
服务器端安全技术
谷歌数据库简称
网络安全等级保护测评介绍
c 判断是否连接数据库
镇江个人软件开发创新服务
快速网络安全通道
近年来我国网络安全犯罪
浙江互联网软件开发哪家正规
服务器怎么判断有人在玩游戏
工会 网络安全法律
星际争霸内部服务器