Category: Programming, |
#!/bin/bash # Æ÷Æ®´ç ¿¬°á¼ö ±¸ÇÏ´Â ½©½ºÅ©¸³Æ® # TIME_WAITµµ ¿¬°á·Î °è»ê KeepAlive Off ^^ # DATE : 20040223 # MAIL : bando(at)bando.org # MSN : bando(at)bando.org # IP_ADDR¿¡ ÇöÀç ¼¹öÀÇ ¾ÆÀÌÇǸ¦ ÀúÀåÇÑ´Ù. # . /etc/sysconfig/network-scripts/ifcfg-eth0 ÀÌ·¸°Ô includeÇؼ IPADDR·Î ½áµµ µÈ´Ù. IP_ADDR=$(awk -F'[=]' '/IPADDR/ {print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0) # PORT¿¡ ÇöÀç ¿¸° Æ÷Æ®µéÀ» Á¤·ÄÇØ ÀúÀåÇÑ´Ù. PORT=$(netstat -ln|awk '/^tcp/{print $4}'|awk -F: '{print $2}'|sort -n -u) # PORT_LINE¿¡ À§¿¡ ÀúÀåÇÑ PORTµéÀÇ ÃÑ ¶óÀμö¸¦ ÀúÀåÇÑ´Ù. PORT_LINE=$(wc -l<< EOF ${PORT} EOF) # PORT_LINE¿¡ ÀúÀåµÈ ÀμöÁß ÇѹøÀÌ»ó ¹Ýº¹ µÇ´Â ½ºÆäÀ̽º¸¦ ¸ðµÎ Áö¿î´Ù. PORT_LINE=$(sed 's/ \{1,\}//' << EOF ${PORT_LINE} EOF) printf "OPEN PORT : " for ((KILL=1; KILL <=${PORT_LINE} ; KILL++)) do # PORT_ONE¿¡ PORT¿¡ ÀúÀåµÈ °ªÁß ¶óÀÎÀÌ KILLÀÎ ¼ö¸¦ ÀúÀåÇÑ´Ù. PORT_ONE=$(sed -n ${KILL}p << EOF ${PORT} EOF ) printf "%d " $PORT_ONE done echo " : TOTAL = $PORT_LINE" printf "PORT\tCONNECT COUNT\n" #Àüü ¹è¿ÀÇ °³¼ö´Â ÀÌ°É·Î ${#PORT[@]} ¾Ë¼ö ÀÖÁö¸¸ ¿©±â¼± ´º¶óÀÎÀ¸·Î ±¸ºÐµÇ±â¿¡ ¹è¿·Î ¸ø¾µ²¬¿ä! ¾Æ´Ï¸é °¥ÃÄÁÖ¼¼¿ä! for ((KILL=1; KILL <=${PORT_LINE} ; KILL++)) do PORT_ONE=$(sed -n ${KILL}p << EOF ${PORT} EOF ) # NOW_NUM¿¡ ÇöÀç PORT_ONE¿¡ Á¢¼ÓÇÑ ¿¬°á¼ö¸¦ ÀúÀåÇÑ´Ù. ¹Ýº¹µÇ´Â ¾ÆÀÌÇÇ´Â Çϳª·Î ó¸®ÇÏ°í ±×¶óÀμö¸¦ ±¸ÇÏ°í ÇϳªÀÌ»ó ¹Ýº¹µÇ´Â ½ºÆäÀ̽º´Â ¸ðµÎ ¾ø¾Ø´Ù. NOW_NUM=$(netstat -an|awk "/${IP_ADDR}:${PORT_ONE}/ {print \$5}"|awk -F: '{print $1}'|sort -u|wc -l|sed 's/ \{1,\}//') printf "%d\t%d\n" $PORT_ONE $NOW_NUM done exit 0; |