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.

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top