unix

perl -MPOSIX -le'@ARGV or@ARGV=qw(dmcl_err_*);for(map{glob$_}@ARGV){chomp($x= strftime("%d.%m.%Y %H:%M:%S",localtime((stat$_)[9])));print"$x $_"}'
 
perl -le 'print map{chr 48+rand 74}1..16'
 
perl -e 'print crypt("password", "\$1\$". join //, map{chr 48+rand 74}1..8)'
 
Linux
fuser portnumber/tcp
           /sbin/fuser 7778/tcp
           here: 7778
           7778/tcp:             5940

netstat -nlp | grep portnumber
           netstat -nlp | grep 7778
           (Not all processes could be identified, non-owned process info
            will not be shown, you would have to be root to see it all.)
           tcp        0      0 0.0.0.0:7778                0.0.0.0:*                   LISTEN      5940/webcached
/usr/sbin/lsof -i tcp -n | grep portnumber

           /usr/sbin/lsof -i tcp -n | grep 7778
           webcached  5940 oracle   11u  IPv4   18233       TCP *:7778 (LISTEN)
           webcached  5940 oracle   29u  IPv4 5209855       TCP 172.17.12.82:7778->172.17.12.82:53292 (CLOSE_WAIT)
           webcached  5940 oracle   34u  IPv4 5225789       TCP 172.17.12.82:7778->172.17.12.82:57720 (CLOSE_WAIT)
 
Solaris
#!/bin/sh
port=$1
for pid in `ps -ef -o pid | tail +2`
  do
    foundport=`/usr/proc/bin/pfiles $pid 2>&1 | grep "sockname:" | grep "port: $port$"`
    if [ "$foundport" != "" ]
    then
      echo "proc: $pid, $foundport"
    fi
done
 
           ./port.sh 80
           proc: 16879,    sockname: AF_INET 0.0.0.0  port: 80
                   sockname: AF_INET 172.16.2.25  port: 80
                   sockname: AF_INET 172.16.2.25  port: 80
                   sockname: AF_INET 172.16.2.25  port: 80
                   sockname: AF_INET 172.16.2.25  port: 80
                   sockname: AF_INET 172.16.2.25  port: 80
 
AIX
 
#!/bin/sh
port=$1
for n in `netstat -Aan | grep "$port" | cut -f1 -d " "`;do
    netstat -Aan | grep $n
    rmsock $n tcpcb
done
 
           ./port.sh  1489
           f10006000653fb98 tcp4       0      0  10.18.26.91.1489   *.*                LISTEN
           The socket 0x653f808 is being held by proccess 262362 (dmdocbroker).
 
HP-UX
 
для B.11.31
 
#!/bin/sh
port=$1
for pid in `UNIX95=1 ps -ef -o pid | tail +2`
  do
    foundport=`/usr/bin/pfiles $pid 2>&1 | grep "localaddr/port" | grep "/$port "`
    if [ "$foundport" != "" ]
    then
      echo "proc: $pid, $foundport"
    fi
done
 
           ./port.sh 7001
           proc: 9575,     localaddr/port = 0.0.0.0/7001 (listening)
 
 
как обойтись только системными утилитами в B.11.23 я не знаю, можно использовать lsof как и в linux,
скачать losf для HP-UX можно здесь
 
 
Comments