php 基于TCP全连接的端口扫描脚本

<?php
set_time_limit(0);
error_reporting(0);
$ports_input = '22,80';
$hosts_input = '123.207.40.26/28';
$timeout = 0.5;
$ports = explode(',', $ports_input);
$hosts_array = explode('/', $hosts_input);
$ip = ip2long($hosts_array[0]);
$net_mask = intval($hosts_array[1]);
$range = pow(2, (32 - $net_mask));
$start = $ip >> (32 - $net_mask) << (32 - $net_mask);
for ($i = 0;$i < $range;$i++) {
    $h = long2ip($start + $i);
    foreach ($ports as $p) {
        $c = @fsockopen($h, intval($p), $en, $es, $timeout);
        if (is_resource($c)) {
            echo $h.':'.$p.' => open\n';
            fclose($c);
        } else {
            echo $h.':'.$p.' => '.$es.'\n';
        }
        ob_flush();
        flush();
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容