Иногда в Solaris возникает необходимость определить, что за процесс висит на порту. Как то мне попадался скриптик на эту тему — whohassocket.sh . Выводил все в страшном виде ;) Потом попались два скриптика на sun.com — кривые (эти скрипты не различают последние цифры в номере порта ): первый, второй

Пришлось переписать ;)

Получившийся скрипт нормально построчно выводит тип сокета, протокол, порт, pid, userid, команду. Соответственно может выводить либо все процессы, либо по pid, либо по userid-у, либо по порту.

пример:

# whohassocket.sh port 25

SOCK_TYPE PROTOCOL IP PORT PID USER COMMAND
sockname: AF_INET 0.0.0.0 25 1505 root /usr/lib/sendmail -bd -q15m
sockname: AF_INET6 :: 25 1505 root /usr/lib/sendmail -bd -q15m
sockname: AF_INET 0.0.0.0 587 1505 root /usr/lib/sendmail -bd -q15m
# /install/Sun/Pkgs/whohassocket.sh port 22
SOCK_TYPE       PROTOCOL        IP      PORT    PID     USER    COMMAND
sockname:       AF_INET6        ::      22       3004     root /usr/lib/ssh/sshd
sockname:       AF_INET6        ::ffff:10.1.4.3 22      13719     root /usr/lib/ssh/sshd
peername:       AF_INET6        ::ffff:10.3.19.48       2077    13719     root /usr/lib/ssh/sshd
sockname:       AF_INET6        ::ffff:10.1.4.3 22       3517     root /usr/lib/ssh/sshd
peername:       AF_INET6        ::ffff:10.3.19.48       1126     3517     root /usr/lib/ssh/sshd
sockname:       AF_INET6        ::ffff:10.1.4.3 22       5474 admin /usr/lib/ssh/sshd
peername:       AF_INET6        ::ffff:10.3.19.45       3738     5474 admin /usr/lib/ssh/sshd
Качаем whohassocket

Обсуждение закрыто.