c3c/portscan-async

PHP中的异步端口扫描器

dev-master 2013-10-08 16:41 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:35:56 UTC


README

此包提供了一个端口扫描工具,用于确定主机是否可以在某个(TCP)端口上访问。

场景

状态页面需要报告某些主机是否在线。使用常规方法,每个主机将顺序检查,这很慢。多亏了这个类,所有的检查都是异步执行的,并且可以非阻塞地检查所有主机的状态。

函数

  • setTimeout($float) : 所有检查的终止超时
  • addTest($host, $port) : 添加要测试的主机
  • scan() : 开始扫描
  • results : 存储结果的变量

示例

$ss = new PortScan\Scanner;
$ss->setTimeout(2);

$ss->addTest('yahoo.com', 80);
$ss->addTest('google.com', 80);
$ss->addTest('1.2.3.4', 80);

$ss->scan();
var_dump($ss->results);
结果
array(3) {
  ["google.com"]=>
  array(1) {
    [80]=>     ## Holds the port
    int(0)     ## Holds the error number (0 = port open)
  }
  ["yahoo.com"]=>
  array(1) {
    [80]=>
    int(0)
  }
  ["1.2.3.4"]=>
  array(1) {
    [80]=>
    int(10060)
  }
}

有关错误号码概述的详细信息,请参阅 此处

未来
  • 每个测试/全局的回调
  • UDP扫描(尽管我不确定如何可靠地执行此操作)
关键词

多线程端口扫描状态检查检查器扫描开启关闭非阻塞