- 전체
- ServerSpecific
- Tips
- Apps (Freeware)
- Apps
- BulitIn
- News
- MyStories
- Apps (iPhone/iPod Touch)
- Report
- Hardware
[Script] Netstat - Bash
2008.08.31 23:50
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
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
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
17 | Pure-ftpd : Virtual users | sukhyun | 2008.08.29 | 23561 |
16 | .DMG to .ISO | sukhyun | 2008.04.03 | 23341 |
15 | 범인은 공유기... | sukhyun | 2008.04.25 | 22574 |
14 | DMG resize | sukhyun | 2008.04.04 | 22151 |
13 | [펌] 10.5: Easily change the location of your home directory | sukhyun | 2008.04.06 | 21867 |
12 | [펌] Create & delete user accounts from the command line on Mac OS X | sukhyun | 2008.10.01 | 21799 |
» | [Script] Netstat - Bash | sukhyun | 2008.08.31 | 21770 |
10 | Zip Test Script ( BASH ) | sukhyun | 2008.08.21 | 20567 |
9 | [Script] MAMP server backup | sukhyun | 2008.08.25 | 20468 |
8 | man ftpd.conf | sukhyun | 2008.04.25 | 20023 |
7 | [Script] the number of files (or directories) | sukhyun | 2008.08.25 | 19576 |
6 | Playing Diablo IV on macOS | Shadow | 2023.06.25 | 1432 |
5 | boot-132 | sukhyun | 2008.08.30 | 448 |
4 | boot132 (2nd) | sukhyun | 2008.09.27 | 370 |
3 | (비밀글) x86osx - 글 백업 | sukhyun | 2008.10.08 | 302 |
2 | 제로보드XE 소스코드 수정 부분 [8688] | Shadow | 2009.01.15 | 0 |
1 | samba over ssh [9704] | Shadow | 2008.12.30 | 0 |