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”.
![](https://blog.guiaanonima.com/wp-content/uploads/2023/07/Desenvolvendo-um-Port-Scan-em-PHP.png)
Espero que tenham gostado, até a próxima 😉