Voltar ao início

Desenvolvendo um Port Scan em PHP

Um port scan é uma técnica que envolve a verificação de portas em um host ou servidor para determinar quais portas estão abertas e disponíveis para conexões. Essa verificação é importante para identificar potenciais vulnerabilidades que possam ser exploradas por hackers. Ao realizar um port scan, você pode descobrir quais portas estão expostas e tomar medidas para fechá-las e fortalecer sua segurança.

Vamos criar um script em PHP simples para realizar um port scan em um determinado host. Abaixo está o código:

<?php
function portScan($host, $porta_inicial, $porta_final) {
    for ($porta = $porta_inicial; $porta <= $porta_final; $porta++) {
        $connection = @fsockopen($host, $porta, $errno, $errstr, 1);
        if (is_resource($connection)) {
            echo "Porta $porta aberta. <br />" . PHP_EOL;
            fclose($connection);
        }
    }
}

$host = "127.0.0.1";
$porta_inicial = 1;
$porta_final = 65535;

portScan($host, $porta_inicial, $porta_final);
?>

Definimos a função “portScan”, que recebe o host alvo, a porta inicial e a porta final como parâmetros.
Dentro da função, usamos um loop “for” para iterar sobre todas as portas no intervalo especificado.
Usamos a função “fsockopen” para tentar abrir uma conexão em cada porta do host alvo.
Se a conexão for bem-sucedida (ou seja, se a função “fsockopen” retornar um recurso válido), exibimos uma mensagem indicando que a porta está aberta.
Por fim, fechamos a conexão usando a função “fclose”.

No exemplo fornecido, estamos realizando um port scan no host com o endereço IP “127.0.0.1” (localhost) e verificando as portas de 1 a 65535. Você pode ajustar o valor do “$host” para o IP ou nome de domínio do servidor que deseja escanear e definir o intervalo de portas desejado em “$porta_inicial” e “$porta_final”.

Espero que tenham gostado, até a próxima 😉