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

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.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Publicado por

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!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *