mardi 27 décembre 2011

[UNIX] Trouver le processus qui écoute ce port

Voici un petit script qui permet de déterminer quel est le processus qui écoute le port indiqué.
Pratique pour déterminer si un port est utilisé et surtout par qui.


#
# Script recherchant le processus qui ecoute un port TCP
#

if [ $# -ne 1 ]
then
    echo "$0 <PORT NUMBER>"
    exit 1
fi 

PORT_NUM=$1
#netstat -Aan | egrep "\.$PORT_NUM\ "| grep LISTEN| awk '{print "echo port:"$5";rmsock "$1" tcpcb"}'|ksh
PID=`netstat -Aan | egrep "\.$PORT_NUM\ "| grep LISTEN| awk '{print "rmsock "$1" tcpcb"}'|ksh|sed 's/^The socket .* is being held by proccess \([0-9]*\).*$/\1/g'`
#echo Le PID est $PID

if [ $PID ]
then
    ps -f -p $PID
else
        echo "Aucun processus trouve en ecoute du port $PORT_NUM"
    exit 2
fi

Exemple :

Aucun commentaire:

Enregistrer un commentaire