PHP

PHP使用socket检测ip端口是否开放

依然范儿特西
2022-03-25 / 0 评论 / 31 阅读 / 正在检测是否收录...

1 开启 socket 扩展, php.ini 里

extension=sockets

使用 php -m 查看是否成功

2 代码

<?php
  
$ip = '127.0.0.1';
$prot = '8080';
checkIp($ip,$prot);

 //检测ip是否可用
 function checkIp($ip,$port){
    $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    socket_set_nonblock($sock);
    socket_connect($sock,$ip, $port);
    socket_set_block($sock);
    $return = @socket_select($r=array($sock), $w = array($sock), $f = array($sock), 3);
    socket_close($sock);
    switch($return)
    {
        case 0:
            echo "$ip:$port 超时\n";
            break;
        case 1:
            echo "$ip:$port 打开\n";
            break;
        case 2:
            echo "$ip:$port 关闭\n";
            break;
    }

}



?>

0

评论 (0)

取消