Como descobrir os processos associados as portas no Linux


Obs: Esse artigo é sobre ferramentas de rede Linux. Caso precise de uma ferramenta para windows, veja esse artigo sobre o TCPView . 
Existem diversas formas simples de descobrir qual processo está escutando em determinada porta no Linux. Este artigo trata de duas dessas ferramentas: o fuser e o lsof

fuser:
O fuser serve para indicar o usuário e o processo que estão acessando determinado arquivo/diretório. Para descobrir qual processo está associado a uma porta TCP/UDP (e o nome do usuário dono do processo) basta executar:
fuser -n protocolo porta
Por exemplo: em uma máquina Linux típica, ao se executar o comando
debian:~# fuser -vn tcp 22
obteremos como resposta
                     USER        PID   ACCESS COMMAND
22/tcp:            root         2694   F....          sshd
que mostra que o processo sshd, de propriedade do usuário root e com o PID 2694, está conectado à porta 22.

lsof:
o lsof tem uma funcionalidade semalhante à do fuser: ele serve para indicar quais arquivos/diretórios estão abertos (sendo acessados) e por quem. Para exibir processos associados a portas TCP/UDP execute:
lsof -i [PROTOCOLO]:porta
Utilizando um exemplo semelhante ao anterior, executando o comando
debian:~# lsof -i TCP:22
O resultado seria similar a esse:
COMMAND PID     USER   FD   TYPE   DEVICE SIZE NODE NAME
sshd                2694     root     3u     IPv6     6348                TCP     *:ssh (LISTEN)
As mesmas informações (nome do processo, PID e usuário dono) são exibidas aqui, entre outras.

O lsof possui ainda algumas vantagens em relação ao fuser:


O protocolo pode ser omitido
Nesse caso, os parâmetros ficariam assim
debian:~# lsof -i :22
Seriam exibidas as conexões para ambos os protocolos (TCP e UDP), caso houvessem.

Riqueza de detalhes: o lsof exibe mais informações que o fuser, como a versão do protocolo IP utilizada (IPv4 ou IPv6), em quais endereços IP/hostnames a porta está sendo utilizada e o estado atual da conexão(LISTENESTABLISHED, SYN_SENT, etc). Caso o processo escute em todos os endereços disponíveis, é exibido um * (como em *:ssh). Se o processo utilizar apenas um endereço IP, seria exibido esse endereço seguido da porta (por exemplo 192.168.1.100:ssh).

DiskState: "A" Ferramenta para exibir o uso de seu HD

Introdução:
Quando se tem uma máquina Windows apresentando problemas de falta de espaço em disco, precisamos de um programa pequeno, que exiba facilmente quais as maiores pastas do seu HD e que busque arquivos repetidos no HD (de forma segura, baseando-se não apenas no nome). Um programa simples de usar e que atende a essas e várias outras necessidades é o DiskState.

Características Principais:
  • Assistente de busca de arquivos duplicados: Busca por imagens, músicas em MP3, vídeos e outros arquivos multimídia. Os arquivos são comparados baseados no tamanho e no MD5, que leva em consideração o conteúdo dos arquivos.
  • Assistente de limpeza de disco: Detecta arquivos temporários do Internet Explorer, Firefox, Netscape e Opera.
  • Exclusão segura: nada é excluído sem a autorização do usuário. Ao invés de excluir é possível efetuar o backup dos arquivos (desde que haja espaço disponível).
  • Análise de Disco: Exibe a estrutura de pastas, permitindo facilmente descobrir quais pastas ocupam mais espaço em disco.
  • Gerador de relatórios: Possui uma ampla gama de relatórios sobre os arquivos (arquivos grandes, arquivos antigos, arquivos de imagens, arquivos por data, etc).
  • E muito mais: veja todas as capacidades desse incrível software aqui http://geekcorp.com/diskstate/features.php (em inglês)
Obtendo e instalando o software:
O programa pode ser baixado em http://geekcorp.com/diskstate/getit.php . O programa é shareware, funciona por 30 vezes (apesar do site informar que funciona por 30 dias). Então se você executar o programa uma vez por mês, vai poder utilizá-lo por 30 meses, ou 2 anos e meio! Ah, o custo dele é de meros US$ 30,00 (não, eu ainda não comprei, mas realmente pretendo comprar e acho que o preço está bem em conta) e se você tiver interesse, a página de venda informa o preço do programa em Reais, para que você tenha uma idéia do custo final dele.
A instalação não possui nenhuma dificuldade, bastando concordar com a licença de uso e ir pressionando "Next" até o final.

Dica: Após concluir a instalação, você pode copiar a pasta onde o mesmo foi instalado para um pendrive e carregar o programa para outros computadores. Nesse caso não é necessária a instalação, você pode até mesmo executar o programa diretamente à partir do pendrive.

Uso do Software:
Sempre ao executar o programa, você verá uma tela que informa o número de dias restantes em que você pode utilizar o programa. Pressione o botão "Aha, I see" (algo como "Tá, eu sei") para continuar (ou pressione "Purchase", se você quiser comprar o programa).


Agora você vai estar na janela principal do programa. Ela exibe informações sobre todas as unidades de armazenamento encontradas em seu computador: o tipo da unidade (HD, CD-ROM, Mídia Removível/Pendrives, e até as unidades remotas, acessíveis via rede), um gráfico colorido com o percentual de utilização atual, o tamanho total da unidade, a quantidade de espaço em uso e a quantidade de espaço livre.

Finalmente, na parte de baixo da janela, temos as funções Dupes (busca de arquivos duplicados), Import(), Compare(), Settings (configurações), About (sobre o programa) e System (realiza algumas tarefas no Windows, como limpar o histórico de documentos acessadors), além de exibir o uso de memória  e o somatório de todo o espaço em disco local, além do somatório do espaço local disponível.

Análise de Disco:
Clicando-se em uma das unidades da lista, é feita uma varredura do disco em questão.A varredura pode demorar alguns minutinhos, dependendo do tamanho do disco e da quantidade de arquivos presentes. Caso seja necesário, você pode desmarcar a opção "Always on Top", e continuar trabalhando enquanto a varredura é feita (pessoalmente, nunca vi a varredura demorar mais que 1 minuto e meio, isso em uma unidade realmente grande e muito cheia).


Após a varredura, temos acesso à Análise de Disco, que lista os diretórios levando em consideração o tamanho que ocupam em disco. O número entre parênteses após o nome do diretório informa a quantidade de arquivos dentro desse diretório. Clicando-se no nome de um diretório com o botão esquerdo do mouse, entramos nesse diretório e vemos seus subdiretórios também listados por tamanho. Os arquivos dentro de cada diretório são representados por "*.*", sua quantidade é exibida entre parênteses e seu tamanho é mostrado somado. Clicando-se com o botão direito do mouse, o Windows Explorer é aberto exibindo o diretório correspondente. O painel à direita da janela exibe o caminho atual, algumas informações sobre a unidade e o diretório atual, e o gráfico em pizza (que pode ser ampliado com um clique de mouse) nos permite rápida e facilmente ter uma noção da proporção de ocupação de disco de cada diretório/subdiretório. Por fim, na parte inferior da janela temos os seguintes botões, na sequência:

  • DiskMgt: Chama a caixa de diálogo de Gerência de Disco do Windows (não mexa nesse diálogo a não ser que você realmente saiba o que está fazendo, pois há risco de perda de dados !!!)
  • DiskClean: Executa a função de limpeza de disco, podendo ser realizada apenas no diretório e subdiretório atual ou no disco inteiro.
  • Duplicates: Executa a função de busca de arquivos duplicados, podendo ser realizada apenas no diretório e subdiretório atual ou no disco inteiro.
  • Defrag: Chama o Desfragmentador de Disco do Windows. É sempre bom desfragmentar o HD com frequência, principalmente após apagar uma grande quantidade de dados. Após desfragmentar seu HD, aproveite para desfragmentar os arquivos de sistema .
  • Reports: Executa a função de Gerência de Relatórios. Permite criar diversos tipos de relatórios, como Arquivos por Tipo, por Idade, por tamanho, etc.
  • Refresh: Refaz a varredura da unidae. Faça isso após apagar arquivos via Windows Explorer, para que o programa reconheça as exclusões e lhe mostre o status real da ocupação do HD.
  • Close: Fecha a janela e volta à tela principal.
Para não alongar muito o post, vou ficando por aqui. Em um próximo post, falarei sobre as ferramentas automatizadas de limpeza (limpeza de disco e busca de arquivos duplicados). Até lá!!

Dica: Identando textos no vi/vim

Veja também a dica sobre como ligar e desligar a auto identação (auto ident) no vi

Se, após seu código estar pronto você decidir identá-lo, basta utilizar as teclas < (menor que) e > (maior que).   A tecla > (maior que) acrescenta um nível de identação (acrescenta uma tabulação) no ínicio da linha. De modo inverso, a tecla < (menor que) remove um nível de identação (remove uma tabulação) do início da linha. Após pressionar a tecla desejada(> ou < ), é necessário pressionar a Barra de Espaço ou Enter, sendo que a barra de espaço aplica/remove a tabulação apenas na linha atual. Já pressionando-se Enter, a aplicação/remoção da tabulação ocorre também na próxima linha (a linha inferior à atual). É possível ainda selecionar várias linhas com os modos Visual/Visual Block (CTRL+v e CTRL+V respectivamente) e identar todas de uma vez .Nesse caso, não é necessário nenhuma tecla após pressionar > ou <. Utilizando-se um dos modos visuais é possível ainda acrescentar/remover mais de uma tabulação, bastando digitar um número antes de > ou <. Por exemplo:
Digitando-se
2 >
são inseridas duas tabulações nas linhas selecionadas.

Recuperando a senha de Administrador do Servidor LDAP

Caso você perca a senha de administrador do servidor LDAP, existe uma forma rápida e simples de recuperá-la:

Edite o arquivo de configuração do servidor LDAP (normalmente /etc/ldap/slapd.conf) e acrescente as seguintes linhas:
rootdn          "cn=admin,dc=localdomain"
rootpw          "senha1234"
Salve o arquivo e reinicie o servidor
/etc/init.d/slapd restart
Agora basta trocar a senha do admin, utilizando a senha definida em rootpw (senha1234 no exemplo acima). Ao executar o comando abaixo, o sistema vai solicitar a nova senha. Digite a nova senha, confirme e pronto.
ldappasswd -x -S -w senha1234 -D "cn=admin,dc=localdomain"
Agora edite novamente o arquivo de configuração e comente (ou exclua) as linhas rootdn e rootpw (e reinicie o servidor LDAP novamente). A partir daí sua senha de admin já esta trocada, e a senha que estava definida em rootpw deixa de funcionar.

Obs: é necessário trocar cn=admin,dc=localdomain pelo DN correto do usuário administrador no seu sistema.

Em caso de dúvidas, escreva ou deixe um comentário.