No AIX, como posso obter o caminho completo de um programa ligado a uma porta?

14

No Linux, posso usar netstat -tulpnw e ps , assim:

# netstat -tulpnw | grep :53
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1482/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1482/named          

# ps aux | fgrep 1482
named     1482  0.0  1.0  93656 44900 ?        Ssl  Sep06   3:17 /usr/sbin/named -u named
root     20221  0.0  0.0   4144   552 pts/0    R+   21:09   0:00 fgrep --color=auto 1482
# 

Como posso obter o caminho completo de um programa vinculado a uma porta ao usar ksh no AIX 6?

    
por LanceBaynes 15.09.2011 / 21:13

5 respostas

10

Como recomendado pela IBM : use lsof -i -n e procure a porta XY. Se você quiser saída analisável de lsof , use o sinalizador -F e analise a saída com awk.

Você pode obter binários pré-compilados para o AIX V5 . Não sei se existem binários pré-compilados para o V6; se não houver, obtenha a fonte e compile-a.

    
por 16.09.2011 / 01:48
4

Tente usar netstat com rmsock .

port=$1
addr='netstat -Aan | grep $port | awk '{print $1}'
pid='rmsock $addr tcpcb | awk '{print $9}''
ps -ef | grep $pid

Para netstat , o -A mostra o endereço de qualquer bloco de controle de protocolo associado aos soquetes, a opção -a mostra o estado de todos os soquetes, incluindo os processos do servidor, e a opção -n fornece saída em formato numérico, então você não está perdendo tempo tentando resolver endereços.

rmsock , usando o endereço fornecido na saída column1 de netstat e usando o banco de dados tcpcb , retornará informações sobre o processo que contém esse soquete, incluindo o pid e o nome.

Você pode usar ps -ef | grep $pid para obter as informações do processo.

Você pode ver artigo na IBM Systems Magazine para obter mais informações sobre isso.

    
por 28.09.2011 / 19:25
1

Uma das maneiras mais rápidas de encontrar a porta de bloqueio de aplicativos é usar lsof ou lsof64 :

lsof64 -nP | grep $PortNumber

ou

lsof -nP | grep $PortNumber

Acima retornará o bloqueio do ID do processo / usando o número de porta fornecido. Depois de tê-lo, execute abaixo para encontrar o aplicativo / processo em execução

proctree $pid
    
por 24.12.2011 / 11:08
0

Não estou familiarizado com o AIX, mas você já tentou os argumentos de formatação w ou e para ps ?

ps uwx | grep 1482
# or 
ps uex | grep 1482
    
por 25.09.2011 / 23:35
0
netstat -ape | grep $PortNumber
    
por 01.03.2013 / 20:30