Какой процесс слушает порт?
23.05.2008
Иногда в 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