php端口扫描api源码,利用php写的端口扫描函数 代码

运用php中的socket函数,可以简单的写出一个端口扫描工具,性能不怎么好,不过玩玩儿,够了。

运用fsockopen函数,探测过程中,可能会出现警告信息,加上@就可以了,该函数成功返回句柄,失败返回false。

函数原型如下:

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

参数分别为,主机名,端口号,错误号,错误信息,检测的超时时间。

扫描函数如下:

function scan($ip){

$error_no = $error_str = "";

for ($p = 0; $p < 65535; $p++) {

if(@fsockopen($ip,$p,&$error_no,&$error_str,1)){

echo "$p opened!

";

}

}

}

可以检测一下本机的端口,如果是lamp结构的话,那么80端口应该是打开的,标准的web服务端口。3306应该也是打开的,是mysql的端口。

检测本地主机,速度还是可以的,不过加上远程主机就有点儿麻烦了,超时时间1秒钟,运行完整个程序估计要几个小时吧!建议用cli方式运行,或者用ini_set来调整运行的时间,否则,以网页方式会因为超过请求的限定时间而终止程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值