Que processos estão usando quais portas no unix?
-
02-07-2019 - |
Pergunta
Eu preciso descobrir o que os portos estão ligados a quais processos em uma máquina Unix (HP Itanium). Infelizmente, lsof
não está instalado e não tenho maneira de instalá-lo.
Alguém sabe um método alternativo? Uma sessão pesquisando bastante longos não apareceu nada.
Solução
Assumindo que este é HP-UX? E sobre a Ptools - você tem aqueles instalados? Se assim você pode usar "pfiles" para encontrar as portas em uso pelo aplicativo:
pfiles imprime informações sobre todos os descritores de arquivos abertos de um processo. Se corresponde descritor de arquivo para um arquivo, em seguida, PFiles imprime o fstat (2) e fcntl (2) informações.
Se os corresponde descritor de arquivo para uma tomada, então pfiles impressões tomada informações relacionadas, tais como o tipo de socket, família soquete e protocolo familiar.
No caso de AF_INET e família AF_INET6 de soquetes, informações sobre o anfitrião pares também é impresso.
for f in $ (ps -ex | awk '{print $ 1}'); fazer echo $ f; pfiles $ f | grep portNum; done
PortNum switch para o número da porta. :) pode ser pid criança, mas você fica perto o suficiente para identificar o aplicativo problema.
Outras dicas
netstat -l (assumindo que vem com essa versão do UNIX)
Dada (quase) tudo no Unix é um arquivo e lsof listas de arquivos abertos ...
Linux: netstat -putan or lsof | grep TCP
OSX: lsof | grep TCP
Outro Unixen: lsof
caminho ...
netstat -pln
EDIT:. Linux somente, em outros UNIXes netstat pode não suportar todas estas opções
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u
dá-lhe as TCP ativas / UDP portos. Então você pode usar as portas com fuser -n tcp
ou fuser -n udp
, como root, e supondo que fuser
é GNU fusor ou tem opções semelhantes.
Se precisar de mais ajuda, me avise.
Tente pfiles PID
para mostrar todos os arquivos abertos para um processo.
Qual processo utiliza a porta em unix;
1. netstat -Aan | port grep
root> netstat -Aan | grep 3872
saída> tcp f1000e000bb5c3b8 0 0 * 0,3872 . ESCUTE
2. rmsock f1000e000bb5c3b8 tcpcb
saída> A tomada 0xf1000e000bb5c008 está sendo realizada por proccess 13959354 (Java).
3. ps -ef | grep 13959354
Eu uso este comando:
netstat -tulpn | grep LISTEN
Você pode ter uma saída limpa que mostra o ID do processo e portas que está escutando na
Se você quiser saber todas as portas de escuta, juntamente com seus detalhes : endereço local, endereço externo e estadual, bem como processo ID (PID). Você pode usar o seguinte comando para ele no linux.
netstat -tulpn