利用PHP检测TCP IP端口是否被墙

352次阅读
没有评论

共计 617 个字符,预计需要花费 2 分钟才能阅读完成。

利用php脚本检测ip是否被墙或者端口是否被墙,代码如下:

<?php
class Health {
  public static $status;
  public function __construct()
  {
  }
  public function check($ip, $port){
    $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    socket_set_nonblock($sock);
    socket_connect($sock,$ip, $port);
    socket_set_block($sock);
    self::$status = socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5);
    return(self::$status); 
  }
  public function checklist($lst){
  }
  public function status(){
    switch(self::$status)
    {
      case 2:
        echo "Closed\n";
        break;
      case 1:
        echo "Openning\n";
        break;
      case 0:
        echo "Timeout\n";
        break;
    }  
  }
}
$ip='IP';
$port=22;
$health = new Health();
$health->check($ip, $port);
$health->status();

需要放在国内机器上即可!

正文完
 
admin
版权声明:本站原创文章,由 admin 2020-03-06发表,共计617字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码