Ir para o conteúdo principal

Guias / Como verificar um site: os guias práticos

Como verificar se uma porta está aberta

Para verificar se uma porta está aberta a partir de fora, você tem que testá-la a partir de fora: uma tentativa de conexão a partir de outra rede é o único resultado que significa alguma coisa. Uma porta que responde a partir da sua própria máquina ainda pode estar bloqueada por um firewall, um grupo de segurança ou o seu provedor de hospedagem antes que qualquer visitante externo a alcance.

O jeito rápido: testar a partir de fora da sua rede

Digite o nome de host ou o endereço IP e o número da porta em uma ferramenta de verificação de porta e deixe que ela abra uma conexão a partir de uma máquina em algum outro lugar da internet. Se o serviço está rodando é uma pergunta diferente. O que você precisa saber é se alguém lá fora consegue alcançá-lo, e testar a partir do mesmo servidor, ou da mesma rede do escritório, pula exatamente as camadas que costumam causar o problema.

O jeito manual: nc, nmap e telnet

A partir de qualquer outra máquina em uma rede diferente, três ferramentas fazem o trabalho:

nc -zv example.com 443            # porta única, varredura sem I/O, modo detalhado
nmap -Pn -p 22,80,443 example.com # várias portas, informa aberto/fechado/filtrado
telnet example.com 25             # antigo mas universal; Ctrl+] depois "quit" para sair

nc (netcat) é o mais simples: -z significa conectar e desconectar imediatamente sem enviar dados, -v imprime o resultado. Ele responde "sucesso" ou "recusado / tempo esgotado" e nada mais. Recorra ao nmap quando a distinção importa, porque é o único dos três que separa de forma confiável uma conexão recusada de uma descartada, e o -Pn diz para pular a sondagem de ping e testar a porta mesmo quando o host não responde a pings. O telnet está instalado em quase todo lugar, e para protocolos de texto como SMTP ou HTTP ele também mostra o banner de saudação que o serviço envia.

Para ver o que está escutando na própria máquina, o que é uma pergunta diferente, use ss -tulpn no Linux ou netstat -ano no Windows. Se uma porta está escutando ali mas fechada a partir de fora, o bloqueio está no meio do caminho: um firewall do host, um grupo de segurança na nuvem, ou o provedor.

Aberto, fechado e filtrado são três respostas diferentes

  • Aberto. Alguma coisa completou o handshake TCP. Um serviço está escutando e aceitou a conexão.
  • Fechado. O host respondeu, mas com uma recusa (um reset TCP). A máquina está alcançável e nada está escutando naquela porta. Essa é uma resposta rápida e definitiva.
  • Filtrado. Nada voltou de jeito nenhum. Um firewall descartou o pacote sem responder, então a sondagem esgota o tempo. Essa é a resposta lenta, e significa que um firewall está no caminho, não que o serviço está fora do ar.

Fechado te aponta para a configuração do serviço. Filtrado te aponta para uma regra de firewall, um grupo de segurança, ou um provedor de internet bloqueando a porta. Muitos provedores bloqueiam a porta 25 de saída por padrão, e alguns bloqueiam a 445 e outras portas comumente abusadas, o que produz um resultado filtrado que nenhuma configuração do lado do servidor vai mudar.

O UDP é um caso especial. O UDP não tem handshake, então um scanner muitas vezes não consegue distinguir uma porta aberta de uma filtrada, e o silêncio é uma resposta válida de um serviço UDP saudável. Trate resultados de UDP como uma evidência bem mais fraca do que resultados de TCP.

Por que uma porta aberta não é um serviço funcionando

Uma porta aberta prova que uma conexão TCP pode ser estabelecida. Ela não diz nada sobre o que acontece depois. Todos estes são exemplos de portas abertas com serviços quebrados:

  • Um servidor web aceitando conexões na 443 enquanto entrega um 502 porque a aplicação por trás dele travou.
  • Um banco de dados escutando na própria porta mas recusando todo login.
  • Um servidor de e-mail que completa o handshake e depois derruba a sessão antes de aceitar uma mensagem.
  • Um serviço cujo certificado TLS venceu na noite anterior. A porta abre, e todo cliente rejeita a conexão.
  • Uma porta encaminhada para a máquina interna errada, que aceita conexões e não responde nada útil.

Então uma verificação de porta é o primeiro passo de um diagnóstico, não o diagnóstico inteiro. Assim que a porta responder, verifique o protocolo: peça uma página e leia o código de status, faça um login de verdade, ou envie uma mensagem de teste. A ordem importa, porque uma verificação de porta descarta a camada de rede inteira rapidamente e deixa você parar de procurar ali.

Uma lista curta para quando uma porta não abre

  1. Confirme que o serviço está escutando na máquina, e na interface certa. Um serviço vinculado a 127.0.0.1 fica inalcançável de qualquer outro lugar, e essa é uma causa muito comum.
  2. Verifique o firewall do host (ufw, firewalld, ou o firewall do Windows).
  3. Verifique o grupo de segurança da nuvem ou o ACL de rede, que é uma camada separada do firewall do host e é esquecida com frequência.
  4. Verifique qualquer encaminhamento de porta de roteador ou NAT, se a máquina não estiver diretamente em um endereço público.
  5. Confirme que o provedor não bloqueia aquela porta, especialmente para portas de e-mail.
  6. Teste novamente a partir de uma terceira rede para descartar uma filtragem de saída sua.

Reverificando em uma agenda

Uma verificação de porta te diz o estado agora, a partir de onde a sondagem rodou. Portas normalmente não fecham sozinhas. Regras de firewall são editadas, grupos de segurança são endurecidos, certificados vencem e serviços param de reiniciar depois de um reboot, e nada disso se anuncia. O monitoramento agendado de portas reconecta em um intervalo a partir de várias localidades e avisa quando a conexão para de ter sucesso, o que também pega o caso em que a porta está alcançável a partir de uma região e filtrada a partir de outra. Teste uma porta agora com a ferramenta de verificação de porta. Quando a porta abre mas o TLS falha, a próxima leitura é como verificar o vencimento de um certificado.

Verificar agora

Faça a verificação gratuita no seu próprio site, sem precisar de conta.

Port check

Monitorar permanentemente

Seja avisado no momento em que algo quebrar: o HostTracker verifica de mais de 300 localidades e notifica você por e-mail, SMS, Slack, Telegram e mais.

Recursos do HostTracker

Mais nesta seção: Como verificar um site: os guias práticos