Categories
Tutoriais

Como determinar quais portas estão escutando, no Linux, com o comando lsof

Como usar o comando lsof para obter uma relação de portas com status “LISTEN” no seu sistema Linux, UNIX, MacOS etc.

O comando lsof, presente no Linux e nos UNIX (o que inclui o MacOS), tem a função de listar arquivos abertos por processos em seu sistema.
Já mostrei como usar o lsof para detectar se algum arquivo aberto impede que você consiga desmontar o seu pendrive (ou qualquer outro dispositivo de armazenamento USB) — se tiver curiosidade, leia este texto.
Também explicamos rapidamente o funcionamento do lsof no post Comandos para obter informações sobre o Ubuntu.
lsof listening ports
O nome do comando é uma abreviação de list opened files — ou “lista arquivos abertos”, em uma tradução livre.
Por “arquivo aberto”, entenda-se um arquivo simples, um diretório, um arquivo especial de bloco, um arquivo especial de caractere, uma referência ao um texto ou a uma biblioteca, um fluxo de dados ou um arquivo de rede etc.
Neste texto vamos mostrar como o lsof pode ser usado para determinar que portas estão abertas e escutando (listening) por conexões.
Se você digitar lsof pura e simplesmente, vai acabar “soterrado” sob uma montanha de informações.
Se for executado sozinho, sem qualquer opção ou parâmetro, o lsof vai exibir todos os arquivos abertos por todos os processos do sistema — o que pode resultar em uma lista bem extensa.
Na maioria das vezes, portanto, é necessário acompanhar a ferramenta do comando grep, para filtrar e descartar dados que não interessaM na nossa listagem.
Veja um exemplo de uso:


sudo lsof -P | grep --color -i listen

[sudo] senha para justincase:          

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
sshd        508                   root    3u     IPv4              19120      0t0        TCP *:22 (LISTEN)
sshd        508                   root    4u     IPv6              19122      0t0        TCP *:22 (LISTEN)
cupsd     27424                   root    6u     IPv6             371198      0t0        TCP localhost:631 (LISTEN)
cupsd     27424                   root    7u     IPv4             371199      0t0        TCP localhost:631 (LISTEN)

Acima, os números das portas em uso podem ser vistos à esquerda de “(LISTEN)”.
A opção ‘-P’ tem a função de inibir a conversão dos números das portas para nomes de arquivos de rede.
Neste caso, é útil por que força a exibição do número da porta, em vez do serviço que a está usando.
Experimente dar o comando sem a opção ‘-P’, para ver do que estou falando.

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.