Hostwinds Blog

Resultados da busca por:


5 maneiras de verificar portas abertas no Linux Imagem em destaque

5 maneiras de verificar portas abertas no Linux

por: Hostwinds Team  /  janeiro 14, 2025


As portas são como portas que permitem que aplicativos e programas no seu sistema Linux enviem e recebam dados.Se você quiser ver quais portas estão em uso, quais estão abertas ou apenas descubra o que está acontecendo com sua rede, você veio ao lugar certo.

Neste guia, percorreremos várias maneiras para verificar as portas no Linux usando comandos simples.No final, você se sentirá mais confortável trabalhando com portos e sabendo o que está acontecendo no seu sistema.

O que são portas?

Antes de entrar nos comandos, vamos levar um momento para entender o que são portos:

  • As portas são números que identificam programas ou aplicativos específicos em execução no seu computador.Por exemplo:
    • Portas de servidores da web são normalmente usados Porta 80 (Http) ou Porta 443 (Https).
    • Logins remotos através do SSH normalmente usam Porta 22.
  • Cada porta tem um número entre 0 e 65535, que se enquadra em três grupos principais:
    • 0–1023: Reservado para protocolos comuns como HTTP e FTP.
    • 1024–49151: Para aplicativos que você instala.
    • 49152–65535: Portas temporárias usadas quando os aplicativos se conectam a um serviço.

Com isso fora do caminho, vamos explorar como verificar o que está acontecendo com suas portas.

Como verificar as portas no Linux

O Linux possui várias ferramentas para ajudá -lo a verificar portas abertas ou de escuta.Abaixo, passaremos por cinco métodos comuns e explicaremos o que cada um faz.

1. Usando o NetStat

O comando NetStat oferece uma visão detalhada das conexões de rede e uso da porta.

Abra um terminal e tipo:

netstat -tuln

Aqui está o que cada opção significa:

  • -t: Mostrar portas TCP (Protocolo de Controle de Transmissão).
  • -você: Mostrar portas UDP (Protocolo de Datagrama do Usuário).
  • -eu: Mostre apenas portas que estão ouvindo ativamente.
  • -n: Pule os nomes do programa de tradução (por exemplo, "ssh") em números de porta, o que o torna mais rápido.

O que você verá:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

Veja como ler isso:

  • Proto: Mostra se é TCP ou UDP.
  • Endereço local: O IP da sua máquina e a porta em uso.
  • Endereço estrangeiro: O IP e a porta da outra máquina (ou* se estiver aberto a todos).
  • Estado: Para o TCP, ouça significa que está aguardando conexões.

Nota rápida: O NetStat faz parte do pacote Net-Tools, que pode não ser pré-instalado em versões mais recentes do Linux.Instale -o usando:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. Usando SS

ss é uma alternativa mais nova e rápida ao NetStat.Ele fornece informações semelhantes, mas funciona melhor nos sistemas modernos.

Execute o seguinte comando:

ss -tuln

As opções são as mesmas que o NetStat, para que você possa pular direto.

O que você verá:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

Esta saída é semelhante ao netstat, mas ss Tende a ser mais rápido, especialmente se você estiver lidando com muitas conexões.

3. Usando LSOF

lsof (Listar arquivos abertos) é uma ferramenta útil para ver quais arquivos ou conexões de rede estão sendo usados ​​por processos.

Para ver quais portas estão abertas e o que está usando, execute:

sudo lsof -i -P -n
  • -eu: Filtros para arquivos relacionados à rede.
  • -P: Mostra números de porta bruta em vez de nomes de serviço.
  • -n: Pula a tradução de endereços IP em nomes de host para velocidade.

O que você verá:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • COMANDO: O programa usando a porta.
  • PID: O ID do processo.
  • NOME: A porta e protocolo (por exemplo, TCP na porta 22).

Por que é útil:

Se você está solucionando problemas e precisar descobrir qual processo está usando uma porta específica, lsof é sua ferramenta preferida.

4. Usando o NMAP

NMAP (Network Mapper) é ideal para digitalização de redes e verificação de quais portas estão abertas.

Para digitalizar todas as portas, execute:

sudo nmap -sT -p- localhost
  • -st: Executa uma varredura TCP Connect.
  • -p-: Digitaliza todas as 65.535 portas.

O que você verá:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • PORTA: O número da porta e o protocolo (TCP ou UDP).
  • ESTADO: Diz se a porta estiver aberta, fechada ou filtrada (bloqueada por um firewall).
  • SERVIÇO: O nome comum do serviço usando a porta.

Por que o NMAP é útil:

NMAP é ótimo se você deseja uma visão completa de todas as portas abertas no seu sistema ou precisar digitalizar outra máquina.

5. Usando NC (NetCat)

Netcat é uma ferramenta simples, mas poderosa, para verificar se uma porta específica estiver aberta.

Para verificar se a porta 22 está aberta, digite:

nc -zv localhost 22
  • -z: Basta digitalizar portas abertas sem enviar dados.
  • -v: Mostre saída detalhada.

O que você verá:

Connection to localhost 22 port [tcp/ssh] succeeded!

Por que é útil:

Se você só precisa verificar rapidamente se uma porta específica está aberta, NC O trabalho sem muita confusão.

Entendendo os resultados

Quando você verifica as portas, eis o que os resultados geralmente significam:

  • Portas de escuta/abertura: Essas portas estão prontas para aceitar conexões.Por exemplo, um servidor da Web ouvirá na porta 80 ou 443.
  • Portas fechadas: Essas portas não estão em uso, portanto não aceitam conexões.
  • Portas filtradas: Essas portas são bloqueadas por um firewall ou regra de segurança, para que pareçam invisíveis.

Cenários comuns

Ao verificar portas, você pode encontrar os seguintes cenários:

  • Você vê uma porta aberta que não esperava: Isso pode significar que um programa está em execução que você não precisa ou reconhece.É uma boa ideia investigar mais.
  • Uma porta que você precisa está fechada: O programa pode não estar em execução, ou um firewall pode estar bloqueando.

Protegendo seu sistema

A verificação das portas é apenas o primeiro passo.Aqui estão algumas maneiras de arrumar as coisas:

Pare de programas desnecessários:
Se um programa estiver em execução em uma porta que você não precisa, desligue -o:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

Use um firewall:
Limite o acesso a portas usando uma ferramenta como o UFW (firewall não complicado):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

Monitore regularmente portas:
Torde o hábito de verificar as portas abertas de vez em quando, especialmente se você estiver executando um servidor.

Empacotando

A verificação das portas no Linux não precisa ser complicada.Se você usa o NetStat, SS, LSOF, NMAP ou NC, cada ferramenta oferece uma visão um pouco diferente do que está acontecendo.Escolha o que funciona melhor para suas necessidades e não tenha medo de explorar.Quanto mais você pratica, mais fácil fica!

Escrito por Hostwinds Team  /  janeiro 14, 2025