Определить имя процесса слушающего на определенном порту в AIX

К сожалению, многие привычные из Linux инструменты в AIX ведут себя совершенно не так, и часто урезаны функционально. Так, в AIX нельзя с помощью netstat получить список прослушиваемых сокетов с именем процесса, который слушает.

В Linux это делается так:

schirsky scripts # netstat -tunlp
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 32357/mysqld
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 6105/smbd
tcp 0 0 0.0.0.0:48014 0.0.0.0:* LISTEN 4477/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4458/portmap
...

В AIX можно получить список прослушиваемых сокетов где-то так:

[root@naiad:/] netstat -an | grep -i list
tcp4 0 0 *.13 *.* LISTEN
tcp 0 0 *.21 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp 0 0 *.23 *.* LISTEN
tcp4 0 0 *.25 *.* LISTEN
...

Вот и попробуй догадаться, кто у тебя слушает n-ный порт :)

Стандартными инструментами AIX интересующую нас информацию можно получить так:

[root@naiad:/] netstat -Aan | grep 10050
f1000700035ebbb0 tcp4 0 0 *.10050 *.* LISTEN
[root@naiad:/] rmsock f1000700035ebbb0 tcpcb
The socket 0x35eb808 is being held by proccess 229382 (zabbix_agentd).

Не совсем удобно… Намного удобнее использовать lsof. По умолчанию в AIX его нет, но не проблема вытянуть его из Linux Toolbox


[root@naiad:/] lsof -i -n
lsof: WARNING: compiled for AIX version 5.3.0.0; this is 6.1.0.0.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
hostmibd 81998 root 3u IPv6 0xf1000700038513b0 0t0 TCP 127.0.0.1:34245-> 127.0.0.1:34243 (ESTABLISHED)
sshd 147602 root 3u IPv4 0xf100070001afd3b0 0t0 TCP *:ssh (LISTEN)
snmpdv3ne 192652 root 6u IPv6 0xf100070000f5f600 0t0 UDP *:snmp
snmpdv3ne 192652 root 7u IPv6 0xf100070001c93bb0 0t0 TCP *:34243 (LISTEN)
...

Вот так вот, например, узнаем кто же у нас слушает порт 10050:


[root@naiad:/] lsof -i :10050
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zabbix_ag 229382 zabbix 4u IPv4 0xf1000700035ebbb0 0t0 TCP *:10050 (LISTEN)

Leave a Reply