AIX - Identificando portas abertas

Publicado por Andre Luiz Facina em 16/08/2010

[ Hits: 15.725 ]

 


AIX - Identificando portas abertas



É muito importante conhecer o ambiente que está sendo administrado. Em se tratando de servidores, muitas vezes temos em um ambiente muitas portas abertas (em modo listen), e é importante saber qual processo está ouvindo em uma determinada porta, por questões de segurança e até em situações de troubleshooting.

A dica de hoje é identificar, no AIX, qual processo está sendo executado em uma porta específica.

Método 1 - Usando os comandos netstat e rmsock

Protocolo TCP:

# netstat -Aan |grep *.1334
f1000e0002b753b0 tcp4       0      0  *.1334             *.*                LISTEN

# rmsock f1000e0002b753b0 tcpcb
The socket 0x2b75008 is being held by proccess 5701822 (writesrv).

# ps -ef |grep 5701822
root  5701822  1507536   0   Jun 10      -  0:00 /usr/sbin/writesrv

Como podem ver o processo writesrv está sendo executado na porta 1334.

Protocolo UDP:

# netstat -Aan |grep *.514
f1000e0002a67e00 udp4       0      0  *.514              *.*

# rmsock f1000e0002a67e00 inpcb
The socket 0x2a64c08 is being held by proccess 5308580 (syslogd).

# ps -ef |grep 5308580
root  5308580  1507536   0   Jun 10      -  0:36 /usr/sbin/syslogd

A porta 514 UDP está sendo utilizada pelo processo do syslogd.

Método 2 - Utilizando os comandos netstat e kdb (kernel debuger)

# netstat -Aan |grep 1334
f1000e0002b753b0 tcp4       0      0  *.1334             *.*                LISTEN

# kdb
(0)>
(0)> sockinfo f1000e0002b753b0 tcpcb

[... A saída do comando kdb é bem detalhado, e por isso foi truncado. O importante para nós é a ultima linha, como mostrado abaixo ... ]

proc/fd: 87/3
proc/fd: fd: 3
              SLOT NAME     STATE      PID    PPID          ADSPACE  CL #THS

pvproc+015C00   87*writesrv ACTIVE 05700BE 01700D0 0000001190239480   0 0001

O importante é saber o PID do processo, que está em hexadecimal na coluna PID.

Para converter de hexadecimal para decimal, basta utilizar o comando hcal, dentro do prompt do kdb. Como mostrado abaixo.

(0)>
(0)>
(0)> hcal 05700BE
Value hexa: 005700BE          Value decimal: 5701822
(0)> quit

De volta ao shell, verificar qual programa pertence ao PID 5701822.

# ps -ef |grep 5701822
root  5701822  1507536   0   Jun 10      -  0:00 /usr/sbin/writesrv

O mesmo procedimento pode ser utilizado para portas UDP, sempre trocando o parâmetro tcpcb por inpcb.

Dica válida para AIX versões 5.3 e 6.1.

André Facina

Outras dicas deste autor

Replicação no LDAP com slurp

Ipband - Monitorando sua conexão

MultiTail - Comando tail em múltiplos arquivos no Linux

Adicionando SWAP no OpenBSD

Adicionando e apagando usuários no OpenBSD

Leitura recomendada

Arch Linux e os Deltas de Pacotes

Gerenciamento de processos no GNU/Linux

Descompactando arquivos .RAR no Mandriva One e superior

Compilando tema Adapta (Ubuntu/Mint)

Adicionar rádios no Rhythmbox

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts