그거/Tech

오랜만의 쉘스크립트 2탄(netstat 에서 포트별/상태별 개수 확인)

뽀기 2008. 9. 30. 10:07

#!/bin/sh

set -A port 8887 8888 9998 9999
established=0
close_wait=0
listen=0
i=0

while [ $i -lt ${#port[@]} ]
do
echo "CHECK Port number : ${port[$i]}"
  for state in `netstat -an | grep ${port[$i]} | awk '{print $6}'`
  do
    if [ $state = 'ESTABLISHED' ]; then
      let "established+=1"
    fi

    if [ $state = 'CLOSE_WAIT' ]; then
      let "close_wait+=1"
    fi

    if [ $state = 'LISTEN' ]; then
      let "listen+=1"
    fi

  done

  echo "       ESTABLISHED (${port[$i]}): $established"
  echo "       CLOSE_WAIT  (${port[$i]}): $close_wait"
  echo "       LISTEN      (${port[$i]}): $listen"
  let "i+=1"

done