Como identificar a porta para um processo?

3

Estou executando um RedHat 5.5 e fiquei me perguntando como posso identificar uma porta para um processo.

Esta é a saída do netstat e estou tentando encontrar o processo associado à porta 35670:

$ netstat -tulnp
tcp        0      0 0.0.0.0:35670               0.0.0.0:*                   LISTEN      -

Eu tentei o seguinte para obter o processo associado a essa porta, mas sem sucesso:

$ lsof -nl | grep TCP
$ fuser 35670/tcp

Isso finalmente funcionou para mim.

$ rpcinfo -p
100021    3   tcp  35670  nlockmgr

Sem fazer o comando acima, como você teria detectado que a porta 35670 está associada ao nlockmgr.

O mais estranho é que o nlockmgr não aparece quando eu faço isso:

$ ps aux

Obrigado pela sua ajuda antecipadamente.

    
por Carmen 30.11.2011 / 22:16

2 respostas

1

Você pode usar a opção nmap with -sV para determinar informações de serviço:

# nmap -sV -p 35670 localhost

Por que o rpc.lockd está oculto na saída netstat / lsof?

    
por 01.12.2011 / 04:24
6

Você precisa executar netstat -tulnp como root. Caso contrário, você obtém o - em vez do nome do processo.

Isto é o que diz a manpage:

PID/Program name
   Slash-separated pair of the process id (PID) and process name of the process that owns the socket.  --program causes  this  column
   to  be  included.   You will also need superuser privileges to see this information on sockets you don't own.  This identification
   information is not yet available for IPX sockets.

Com uma exceção: portmapper Veja isto

    
por 30.11.2011 / 22:24