Назад | Перейти на главную страницу

AIX: возможно ли каким-то образом получить пару ForeignAddress / PID, как мы можем получить в Linux с помощью netstat?

В Linux (RHEL) мы можем получить пару ForeignAddress / PID с помощью команды netstat -ntp:

[root@rhel ~]# netstat -ntp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

tcp        0      0 10.30.39.13:139             10.30.36.190:22239          ESTABLISHED 15255/smbd
tcp        0      0 ::ffff:10.30.39.13:22       ::ffff:10.30.34.64:2523     ESTABLISHED 27970/sshd: james [pri   
tcp        0    148 ::ffff:10.30.39.13:22       ::ffff:10.30.34.64:2518     ESTABLISHED 27937/3

Например, для пользователя james выше у нас есть 10.30.34.64:2523 & 27970.

Возможно ли каким-то образом получить ту же информацию (ForeignAddress / PID) в AIX 5.3?

Если у вас есть набор инструментов AIX для приложений Linux, вы можете использовать lsof, он должен помочь, например:

host:/:$ lsof -i :22 

sshd     1953   root    3u  IPv4 300864051      0t0  TCP *:ssh (LISTEN)
sshd     1953   root    4u  IPv6 300864053      0t0  TCP *:ssh (LISTEN)
sshd    19753   root    3u  IPv4 366276287      0t0  TCP XXX.XXX.XXX.XXX:ssh->XXX.XXX.XXX.XXX:54371 (ESTABLISHED)
sshd    19755 user    3u  IPv4 366276287      0t0  TCP XXX.XXX.XXX.XXX:ssh->XXX.XXX.XXX.XXX:54371 (ESTABLISHED)

host:/:$

Таким образом вы увидите, кто прослушивает порт 22 и кто к нему подключен.

Я думаю, что с использованием собственных инструментов AIX это немного сложнее и менее полезно, чем lsof:

# netstat -Aan |grep <port_to_match>
<hex_number> tcp        0      0  *.XXX            *.*                LISTEN

# rmsock <hex_number> tcpcb
The socket <hex_number> is being held by proccess XXX (process_name).


# ps -ef |grep XXX
    user  XXX  YYY   0   Aug 03      -   /your/process

Надеюсь, это поможет.