composer安装

项目目录执行composer require palepurple/nmap

修改代码

原来的composer src中的代码并不会进行精确扫描,需要修改文件vendor/palepurple/nmap/src/Nmap/Nmap.php代码实现该功能:

    private $enableTcp = false;

    public function buildCommand(array $targets, array $ports = array()): array
    {

        if (true === $this->enableTcp) {
            $options[] = '-sT';
        }
    }

    public function enableTcp($enable = true): self
    {
        $this->enableTcp = $enable;

        return $this;
    }

针对Centos,可以使用yum install nmap进行安装,否则将无法运行扫描。
另外需要开放exec函数的执行权限。
最后如果要对接web,可以使用workerman websocket连接实现逐行显示。
可以见我实现的功能:端口开放在线检测工具

https://tool.hi.cn/port/