[Script] Netstat - Bash

2008.08.31 23:50

sukhyun 조회 수:21770

The script for MacOSX ( Bash )

시스템 네트워크 트래픽 상태를 편리하게 확인하려고 만든 스크립트.
uptime과 현재까지 Rx/Tx 데이터 크기를 가지고 현재까지 평균 Transfer rate와 현재 Trasfer rate를 계산해 표시한다.

 

  1 #!/bin/bash
  2 NETCHK=`netstat -i -b | sed -n -e '1p' -e '/en0/p' | sed -n -e '2p'`
  3 sleep 1
  4 NETCHK2=`netstat -i -b | sed -n -e '1p' -e '/en0/p' | sed -n -e '2p'`
  5
  6 RX_BYTE=`echo ${NETCHK} | sed -e 's/  */ /g' | cut -d ' ' -f 7`
  7 TX_BYTE=`echo ${NETCHK} | sed -e 's/  */ /g' | cut -d ' ' -f 10`
  8 RX_BYTE2=`echo ${NETCHK2} | sed -e 's/  */ /g' | cut -d ' ' -f 7`
  9 TX_BYTE2=`echo ${NETCHK2} | sed -e 's/  */ /g' | cut -d ' ' -f 10`
 10
 11 let "RX_GIGABYTE = $RX_BYTE / 1024 / 1024 / 1024"
 12 let "TX_GIGABYTE = $TX_BYTE / 1024 / 1024 / 1024"
 13
 14 echo "Total RX : "${RX_GIGABYTE}" GB"
 15 echo "Total TX : "${TX_GIGABYTE}" GB"
 16
 17 UPTIME=`uptime | sed -e 's/  */ /g'`
 18 CHK=`echo ${UPTIME} | grep day`
 19 if [ "${CHK}" == "" ];then
 20     UPTIME_DAY="0";
 21     UPTIME_HOUR=`echo ${UPTIME} | cut -d ' ' -f 3 | sed -e 's/,//g' | cut -d     ':' -f 1`
 22     UPTIME_MIN=`echo ${UPTIME} | cut -d ' ' -f 3 | sed -e 's/,//g' | cut -d     ':' -f 2`
 23 else
 24     UPTIME_DAY=`echo ${UPTIME} | cut -d ' ' -f 3 | sed -e 's/day//g'`
 25     UPTIME_HOUR=`echo ${UPTIME} | cut -d ' ' -f 5 | sed -e 's/,//g' | cut -d     ':' -f 1`
 26     UPTIME_MIN=`echo ${UPTIME} | cut -d ' ' -f 5 | sed -e 's/,//g' | cut -d     ':' -f 2`
 27 fi
 28
 29 if [ "${UPTIME_MIN}" -lt "10" ];then
 30     UPTIME_MIN=`echo ${UPTIME_MIN} | cut -b 2-`
 31 fi
 32
 33 #echo "DAY : $UPTIME_DAY"
 34 #echo "HOUR : $UPTIME_HOUR"
 35 #echo "MIN : $UPTIME_MIN"
 36
 37 let "UPTIME_SEC = ($UPTIME_DAY * 24 * 60 * 60) + ($UPTIME_HOUR * 60 * 60) +     ($UPTIME_MIN * 60)"
 38 echo "Uptime = ${UPTIME_DAY} days, ${UPTIME_HOUR} hours, ${UPTIME_MIN} minut    es = ${UPTIME_SEC} seconds"
 39
 40 let "AVG_RX_BYTE_PER_SEC = $RX_BYTE / $UPTIME_SEC"
 41 let "AVG_TX_BYTE_PER_SEC = $TX_BYTE / $UPTIME_SEC"
 42 let "AVG_RX_KBYTE_PER_SEC = $AVG_RX_BYTE_PER_SEC / 1024"
 43 let "AVG_TX_KBYTE_PER_SEC = $AVG_TX_BYTE_PER_SEC / 1024"
 44
 45 let "CUR_RX_BYTE_PER_SEC = ${RX_BYTE2} - ${RX_BYTE}"
 46 let "CUR_TX_BYTE_PER_SEC = ${TX_BYTE2} - ${TX_BYTE}"
 47 let "CUR_RX_KBYTE_PER_SEC = $CUR_RX_BYTE_PER_SEC / 1024"
 48 let "CUR_TX_KBYTE_PER_SEC = $CUR_TX_BYTE_PER_SEC / 1024"
 49
 50 echo " "
 51 echo "      =============================="
 52 echo "              Network Traffic "
 53 echo "      =============================="
 54 echo " "
 55 echo "   Average RxData Rate : "$AVG_RX_BYTE_PER_SEC" byte/sec ( = "$AVG_RX_    KBYTE_PER_SEC" KB/sec )"
 56 echo "   Average TxData Rate : "$AVG_TX_BYTE_PER_SEC" byte/sec ( = "$AVG_TX_    KBYTE_PER_SEC" KB/sec )"
 57 echo " "
 58 echo "   Current RxData Rate : "$CUR_RX_BYTE_PER_SEC" byte/sec ( = "$CUR_RX_    KBYTE_PER_SEC" KB/sec )"
 59 echo "   Current TxData Rate : "$CUR_TX_BYTE_PER_SEC" byte/sec ( = "$CUR_TX_    KBYTE_PER_SEC" KB/sec )"
 60 echo " "
 61
 


 

번호 제목 글쓴이 날짜 조회 수
37 [펌] Putty Proxy 우회하기(터널링) file sukhyun 2008.06.13 31166
36 리얼맥 시동음 제거 [1] Administrator 2008.03.30 30836
35 [펌] 집에서 Mac으로 메일서버 운영하기 (1) [1] Administrator 2008.03.30 30564
34 [펌] OS X에서 파일 시스템 관리를 위한 디스크 유틸리티와 fsck의 사용 Administrator 2008.03.30 30530
33 lukemftpd 질문에 대한 내 답변 [1] Shadow 2008.12.24 30235
32 [작성중] 홈 서버 구성 가이드 - 1. 홈서버 시스템의 선택 [4] sukhyun 2008.11.14 29198
31 [펌] Creating & deleting system service agent accounts on Mac OS X sukhyun 2008.10.01 28182
30 [펌] ★ 애플 Mac mini 리뷰 & 분해기! [1] Administrator 2008.03.30 27390
29 [펌] 맥미니 전력 소모 (애플 자료) [2] sukhyun 2008.03.30 26838
28 [펌] Linux on the Mac Mini Administrator 2008.03.30 26380
27 Media Transcoding (Encoding) : mencoder & codecs [1] sukhyun 2008.11.26 26328
26 [펌] An A-Z Index of the Apple OS X command line sukhyun 2008.08.30 25899
25 Mplayer & Mencoder - Compilation in MacOSX file sukhyun 2008.11.27 25722
24 [작성중] 홈서버 구성 가이드 - 5. FTP를 이용한 파일서버 - LukemFTPd / PureFTPd [1] file sukhyun 2008.11.19 24799
23 제로보드 버그 Administrator 2008.03.30 24621
22 [펌] ftpd encoding patch sukhyun 2008.04.07 24372
21 Cyberduck - FTP and SFTP Browser for Mac OS X file sukhyun 2008.04.06 24327
20 transmit 3 - FTP client [1] sukhyun 2008.04.06 24322
19 [펌] NFS exports and Mac OS X 10.5 Leopard sukhyun 2008.05.04 24249
18 [펌] FTP Only Accounts Under Mac OS X Leopard sukhyun 2008.04.07 23598

사용자 로그인