Ubuntu

Como encontrar portas abertas no Ubuntu?

Como encontrar portas abertas no Ubuntu?
Para solucionar problemas de uma rede e manter a segurança do servidor, um administrador de rede ou um profissional de segurança deve estar ciente das ferramentas usadas para encontrar portas abertas no servidor. O Linux oferece diferentes utilitários e opções de linha de comando para listar as portas abertas no servidor. Neste tutorial, veremos como podemos listar todas as portas abertas usando diferentes comandos no terminal do Ubuntu.

O que significa porta aberta?

Antes de nos aprofundarmos na verificação de portas abertas, primeiro vamos saber o que portas abertas significam. Uma porta aberta ou uma porta de escuta é a porta na qual algum aplicativo está sendo executado. O aplicativo em execução escuta em alguma porta e podemos nos comunicar com esse aplicativo por meio dessa porta de escuta. Se um aplicativo estiver rodando em uma porta, e nós tentarmos rodar outro aplicativo na mesma porta, o kernel irá lançar um erro. Esse é um dos muitos motivos pelos quais verificamos se há portas abertas antes de executar aplicativos.

Listar portas abertas usando nmap

Network Mapper, conhecido como nmap, é uma ferramenta gratuita e de código aberto, que é usada para escanear portas em um sistema. É usado para encontrar vulnerabilidades, descobrir redes e encontrar portas abertas. Nesta seção, usaremos o nmap para obter uma lista de portas abertas em um sistema. Em primeiro lugar, atualize o cache no Ubuntu antes de instalar o nmap:

[email protegido]: ~ $ sudo apt-get update -y

O Nmap pode ser instalado usando o seguinte comando no terminal:

[email protegido]: ~ $ sudo apt-get install nmap -y

Depois de instalar o nmap, verifique a instalação verificando a versão do nmap:

[email protegido]: ~ $ nmap --version

Se ele fornece a versão do nmap, ele está instalado perfeitamente, caso contrário, tente os comandos acima novamente para instalar o nmap corretamente. O Nmap é usado para realizar várias tarefas relacionadas a redes, e a varredura de portas é uma dessas tarefas. A ferramenta nmap é usada junto com muitas opções. Podemos obter a lista de todas as opções disponíveis usando o seguinte comando:

[email protegido]: ~ $ man nmap

Portanto, para verificar seu host local, use o comando apreendido abaixo:

[email protegido]: ~ $ sudo nmap localhost

Ele irá listar todas as portas abertas no localhost, conforme exibido na imagem acima. Também podemos usar o nmap para verificar hosts remotos:

[email protegido]: ~ $ sudo nmap 93.184.216.34

Além disso, podemos usar o nome do host do servidor remoto em vez de um endereço IP:

[email protegido]: ~ $ sudo nmap www.exemplo.com

O comando nmap também pode ser usado para escanear uma gama de endereços IP. Especifique o intervalo de endereços IP no comando, como no comando abaixo:

[email protegido]: ~ $ sudo nmap 192.168.1.1-10

O comando acima irá verificar todos os endereços IP de 192.168.1.1 a 192.168.1.10, e exibirá o resultado no terminal. Para escanear portas em uma sub-rede, podemos usar o nmap da seguinte maneira:

[email protegido]: ~ $ sudo nmap 192.168.1.24/01

O comando acima irá verificar todos os hosts com endereços IP na sub-rede definida no comando.

Às vezes você tem que escanear portas em hosts aleatórios, que estão em sub-redes diferentes e não em sequência, então a melhor solução é escrever um arquivo de hosts no qual todos os nomes de host são escritos, separados por um ou mais espaços, tabulações ou novo linhas. Este arquivo pode ser usado com o nmap da seguinte maneira:

[email protegido]: ~ $ sudo nmap -iL hosts.TXT

Podemos usar o nmap para escanear uma única porta no sistema, especificando a porta usando o sinalizador '-p', junto com o nmap, como no seguinte comando:

[email protegido]: ~ $ sudo nmap -p 80 localhost

O intervalo de portas também pode ser verificado em um sistema usando nmap da seguinte maneira:

[email protegido]: ~ $ sudo nmap -p 80-85 localhost

Podemos escanear todas as portas de um sistema usando nmap:

[email protegido]: ~ $ sudo nmap -p- localhost

Para obter uma lista das portas mais comumente abertas em seu sistema, você pode usar o comando nmap com o sinalizador '-F':

[email protegido]: ~ $ sudo nmap -F localhost

As portas TCP podem ser verificadas no sistema usando o nmap, apenas adicionando o sinalizador '-T', junto com o comando nmap:

[email protegido]: ~ $ sudo nmap -sT localhost

Da mesma forma, para portas UDP, você pode usar a sinalização '-U' com o comando nmap:

[email protegido]: ~ $ sudo nmap -sU localhost

Listar portas abertas usando lsof

O comando lsof, também conhecido como 'listar arquivos abertos', é usado para obter as informações sobre arquivos abertos usados ​​por diferentes processos em UNIX e LINUX como sistemas operacionais. Para a maioria das distros Linux, esta ferramenta vem pré-instalada. Podemos verificar a instalação do lsof apenas verificando sua versão:

[email protegido]: ~ $ lsof -v

Se não mostrar a versão, o lsof não é instalado por padrão. Ainda podemos instalá-lo usando os seguintes comandos no terminal:

[email protegido]: ~ $ sudo apt-get update -y
[email protegido]: ~ $ sudo apt-get install lsof

Podemos usar o comando lsof junto com diferentes opções. A lista de todas as opções disponíveis pode ser exibida usando o seguinte comando no terminal:

[email protegido]: ~ $ man lsof

Agora, nesta seção, usaremos lsof para exibir as portas de um sistema de diferentes maneiras:

[email protegido]: ~ $ sudo lsof -i

O comando acima exibiu todas as portas abertas. Também podemos usar o comando lsof para exibir todos os soquetes abertos:

[email protegido]: ~ $ sudo lsof -n -P | grep LISTEN

Podemos listar as portas filtradas com base em um protocolo usando lsof. Execute o comando fornecido abaixo para listar todos os tipos de conexão TCP:

[email protegido]: ~ $ sudo lsof -i tcp

Da mesma forma, podemos listar todos os tipos de conexão UDP usando lsof da seguinte maneira:

[email protegido]: ~ $ sudo lsof -i udp

Listar portas abertas usando netstat

O netstat, também conhecido como estatísticas de rede, é um programa de linha de comando usado para exibir informações detalhadas sobre redes. Ele exibe conexões TCP de entrada e saída, tabelas de roteamento, interfaces de rede, etc. Nesta seção, usaremos o netstat para listar as portas abertas em um sistema. A ferramenta netstat pode ser instalada executando os seguintes comandos:

[email protegido]: ~ $ sudo apt-get update -y
[email protegido]: ~ $ sudo apt-get install net-tools -y

Depois de executar os comandos acima, você pode verificar a instalação verificando a versão do netstat:

[email protegido]: ~ $ netstat --version

Se ele exibir a versão do net-tools, a instalação está bem, caso contrário, execute os comandos de instalação novamente. Para obter uma visão geral de todas as opções disponíveis que podem ser usadas, junto com o comando netstat, execute o seguinte comando:

[email protegido]: ~ $ man netstat

Podemos obter uma lista de todas as portas de escuta usando o comando netstat no Ubuntu, executando o seguinte comando:

[email protegido]: ~ $ sudo netstat -l

O comando netstat também pode ser usado para filtrar a escuta das portas TCP e UDP apenas adicionando um sinalizador junto com o comando. Para ouvir as portas TCP:

[email protegido]: ~ $ sudo netstat -lt

Para ouvir as portas UDP, use o seguinte comando:

[email protegido]: ~ $ sudo netstat -lu

Para obter a lista de todas as portas de escuta do UNIX, você pode executar o seguinte comando no terminal:

[email protegido]: ~ $ sudo netstat -lx

Listar portas abertas usando ss

O comando ss é usado para exibir informações sobre sockets em um sistema Linux. Ele exibe informações mais detalhadas sobre sockets do que o comando netstat. O comando ss vem pré-instalado para a maioria das distros Linux, então você não precisa instalá-lo antes de usá-lo. Você pode obter uma lista de todas as opções, que podem ser usadas junto com o comando ss, executando o comando 'man' com ss:

[email protegido]: ~ $ man ss

Para obter uma lista de todas as conexões, independentemente de seu estado, use o comando ss sem qualquer sinalizador:

[email protegido]: ~ $ sudo ss

Para obter uma lista de todas as portas de escuta, use o comando ss com o sinalizador '-l'. O sinalizador '-l' é usado para exibir apenas as portas de escuta:

[email protegido]: ~ $ sudo ss -l

Para obter todas as portas TCP de escuta, podemos usar o sinalizador '-t' e '-l' junto com o comando ss:

[email protegido]: ~ $ sudo ss -lt

Da mesma forma, podemos obter uma lista de todas as portas UDP de escuta usando o comando ss junto com o sinalizador '-u' e '-l':

[email protegido]: ~ $ sudo ss -lu

O comando ss também pode ser usado para obter uma lista de todas as conexões com a porta de origem ou de destino. No exemplo a seguir, vamos obter a lista de todas as conexões com a porta de destino ou origem 22:

[email protegido]: ~ $ sudo ss -at '(dport =: 22 ou esporte =: 22)'

Você receberá uma lista de todas as conexões de entrada e saída se você se conectou a um sistema remoto usando ssh.

Conclusão

Para administradores de sistema, profissionais de segurança e outras pessoas relacionadas a TI, é importante estar ciente das portas abertas nos servidores. O Linux é rico em ferramentas usadas para diagnosticar redes e fornece muitas ferramentas que podem ser úteis para vários tipos de atividades de rede. Neste tutorial, usamos algumas ferramentas como netstat, ss, lsof e nmap para verificar se há portas abertas no Ubuntu. Depois de ler este artigo, você será capaz de listar facilmente todas as portas de escuta em seu servidor Linux de várias maneiras.

Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...