быстрый сканер портов на php - PullRequest
0 голосов
/ 11 июля 2020

Может кто-нибудь показать пример, как сделать сканер всех портов на сервере (по ip адресу), на открытые порты? Я пытался сделать это через fsockopen, но он оказался очень медленным, сканирует около 1000 портов за 5 минут. Но я видел других, как сканер искал все порты за 1 минуту, но это было на nodeJS, возможно ли это на php?

1 Ответ

0 голосов
/ 11 июля 2020

Вместо PHP используйте bash:

//$output = shell_exec('netstat -tulpn | grep LISTEN');
$output = <<<DEMO_OUTPUT
tcp   0      0      127.0.0.1:631           0.0.0.0:*               LISTEN      0          43385      1821/cupsd  
tcp   0      0      0.0.0.0:22              0.0.0.0:*               LISTEN      0          44064      1823/sshd 
DEMO_OUTPUT;

$output = explode("\n", $output);
$ips = [];

foreach($output as $o) {
    $ips[] = preg_split('/\s+/', $o)[3];
}

, а затем просто проанализируйте вывод

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...