批量端口扫描工具实现

批量端口扫描是一种常见的网络探测手段,可以用来了解目标系统开放的端口情况。

scanPort函数

function scanPort($host, $port) {
    // 创建TCP连接
    $fp = @fsockopen($host, $port);
    if ($fp) {
        // 连接成功,读取响应数据
        $response = fgets($fp);
        // 关闭连接
        fclose($fp);
        // 返回扫描结果
        return $response;
    } else {
        // 连接失败,返回null
        return null;
    }
}

scanRange函数

function scanRange($host, $startPort, $endPort) {
    // 扫描指定范围内的端口
    $results = array();
    for ($i = $startPort; $i <= $endPort; $i++) {
        $response = scanPort($host, $i);
        if ($response) {
            $results[] = $response;
        }
    }
    return $results;
}

mainScan主扫描函数

function mainScan($host, $ports) {
    // 扫描指定的端口
    $results = array();
    foreach ($ports as $port) {
        $response = scanPort($host, $port);
        if ($response) {
            $results[] = $response;
        }
    }
    return $results;
}

使用示例

// 设置目标主机和端口范围
$host = "example.com";
$startPort = 1;
$endPort = 1000;

// 扫描指定范围内的端口
$ports = range($startPort, $endPort);

// 执行扫描
$scanResults = mainScan($host, $ports);

// 输出扫描结果
print_r($scanResults);

注意事项

  • 该工具仅用于学习和研究目的
  • 严禁将端口扫描工具用于非法活动
  • 端口扫描可能对目标系统产生负载,建议控制扫描速度
  • 使用时应遵守相关法律法规
点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部