Как узнать сокеты, используемые в выполняющихся процессах
How to know sockets used in running processes

Создайте скрипт:

Create script:

#!/bin/sh
#
# For Solaris 8
#
PROCS=`/usr/bin/ps -ef|awk 'NR>1{print $2}'`
for i in $PROCS
do
  if [ -n "`/usr/bin/pfiles $i 2>/dev/null|grep S_IFSOCK`" ]
  then
    /usr/bin/ps -f -p $i|/usr/bin/awk 'NR>1{print}'
    /usr/bin/pfiles $i 2>/dev/null|/usr/bin/awk '/S_IFSOCK/{print $1, $2, $5}/sockname:/{print}'
  fi
done

Назовите его whohassockets. Теперь Вы будете иметь команду, с помощью которой можно посмотреть сокеты выполняющихся процессов. Если Вы запустите её как обычный пользователь, то получите информацию только о процессах принадлежащих этому пользователю. Root же получит информацию о всех выполняющихся процессах.

Name it "whohassockets". Now you will have the command, which shows for you sockets of running processes. If you start it like simple user, you will obtain only information about this user's processes. Root will obtain information about all processes.

# ./whohassockets
  nobody   344   327  0 21:31:00 ?        0:00 /usr/apache/bin/httpd
16: S_IFSOCK ino:64746
	sockname: AF_INET 0.0.0.0  port: 80
    root   121     1  0 21:30:40 ?        0:00 /usr/sbin/in.routed -q
3: S_IFSOCK ino:28510
	sockname: AF_INET 0.0.0.0  port: 520
4: S_IFSOCK ino:28510
	sockname: AF_INET 0.0.0.0  port: 0
    root   176     1  0 21:30:41 ?        0:00 /usr/sbin/inetd -s
11: S_IFSOCK ino:28508
	sockname: AF_INET6 ::  port: 21
12: S_IFSOCK ino:28507
	sockname: AF_INET6 ::  port: 23
13: S_IFSOCK ino:28507
	sockname: AF_INET 0.0.0.0  port: 42
14: S_IFSOCK ino:28506
	sockname: AF_INET 0.0.0.0  port: 514
15: S_IFSOCK ino:28506
	sockname: AF_INET6 ::  port: 514
16: S_IFSOCK ino:28505
	sockname: AF_INET6 ::  port: 513
17: S_IFSOCK ino:28505
	sockname: AF_INET 0.0.0.0  port: 512
18: S_IFSOCK ino:28504
	sockname: AF_INET6 ::  port: 512
19: S_IFSOCK ino:28504
	sockname: AF_INET 0.0.0.0  port: 512
20: S_IFSOCK ino:64159
	sockname: AF_INET 0.0.0.0  port: 517
21: S_IFSOCK ino:64158
	sockname: AF_INET 0.0.0.0  port: 540
22: S_IFSOCK ino:64158
	sockname: AF_INET6 ::  port: 79
23: S_IFSOCK ino:64157
	sockname: AF_INET6 ::  port: 37
24: S_IFSOCK ino:64157
	sockname: AF_INET6 ::  port: 37
25: S_IFSOCK ino:64156
	sockname: AF_INET6 ::  port: 7
26: S_IFSOCK ino:64155
	sockname: AF_INET6 ::  port: 7
27: S_IFSOCK ino:64155
	sockname: AF_INET6 ::  port: 9
28: S_IFSOCK ino:64154
	sockname: AF_INET6 ::  port: 9
29: S_IFSOCK ino:64154
	sockname: AF_INET6 ::  port: 13
30: S_IFSOCK ino:64153
	sockname: AF_INET6 ::  port: 13
31: S_IFSOCK ino:64153
	sockname: AF_INET6 ::  port: 19
32: S_IFSOCK ino:64152
	sockname: AF_INET6 ::  port: 19
49: S_IFSOCK ino:64152
	sockname: AF_INET 0.0.0.0  port: 7100
52: S_IFSOCK ino:64751
	sockname: AF_INET6 ::  port: 515
57: S_IFSOCK ino:64750
	sockname: AF_INET 0.0.0.0  port: 6112
58: S_IFSOCK ino:64750
	sockname: AF_INET 0.0.0.0  port: 32779
.................................... ommited

Copyright © 2002, Vitaly Filatov, Moscow, Russia
Webmaster