O comando lsof exibe uma listagem de arquivos abertos no sistema. Como os sistemas Linux tratam tudo como arquivos, inclusive soquetes de rede, o lsof é útil para diagnosticar problemas de conectividade, pois basta algumas poucas opções para determinar a origem de conexões dev, ou encontrar portas abertas no sistema local.
Simples utilização
# lsof
Listando todos os arquivos abertos com os seguintes campos: Command, PID, USER, FD, TYPE etc.
Visualizando conexões de rede abertas
# lsof -i -n
O comando acima exibe uma lista de todas as conexões de rede abertas.
Somente conexões de rede tcp
# lsof -i tcp -n
Restringindo a saída para apenas conexões UDP:
# lsof -i udp -n
Utilizando juntamente com o grep
# lsof -i -n -P | grep sendmail
Outra forma de utilizar o lsof é especificar o soquete de comunicação que deve ser “pesquisado”. Por exemplo, para verificar qual processo está “escutando” na porta 22, execute:
# lsof -n -P -i:22
Com isso, demos nosso pontapé inicial para dissecarmos e agregarmos conhecimento dessa ferramenta interessante.
Não perca os próximos capítulos, até breve!