Bash shell腳本練習(三)

 1.掃描同一網絡內IP使用狀況bash

  
  
  
  
  1. #!/bin/bash 
  2. #------------------------------- 
  3. #Version        0.1 
  4. #Filename:      ipscan.sh 
  5. #Date:          2011.03.22 
  6. #Email:         liyaoyi@163.com 
  7. #------------------------------- 
  8. #定義變量 
  9. NETWORK=$(ifconfig eth0 | grep "inet addr" | awk '{print $2}'|awk -F: '{print $2}' \ 
  10. | awk -F"." '{print $1"."$2"."$3}') 
  11. IPTEMP=$(mktemp) 
  12. IPUP="/tmp/ipup.txt" 
  13. IPDOWN="/tmp/ipdown.txt" 
  14.  
  15. if [ ! -f "$IPUP"  -a ! -f "$IPDOWN" ]; then  
  16.         touch $IPUP $IPDOWN 
  17. fi 
  18. #掃描網絡並分類輸出IP 
  19. echo "正在執行掃描,請稍候..." 
  20. echo "" 
  21. for ip in `seq 1 254` 
  22. do 
  23.         arping -c 1 "$NETWORK".$ip > $IPTEMP 
  24.  
  25.         if [ $? -eq 0 ]; then 
  26.                 cat $IPTEMP | grep "reply" | awk '{print $4,$5}' >> $IPUP 
  27.         else 
  28.                 cat $IPTEMP | head -n 1 | awk '{print $2}' >> $IPDOWN 
  29.         fi 
  30. done 
  31. #將結果輸出並清除臨時文件 
  32. clear 
  33. echo  "正在使用的IP及MAC:" 
  34. echo "" 
  35. cat $IPUP 
  36. echo "" 
  37.  
  38. echo "未使用的IP:" 
  39. echo "" 
  40. cat $IPDOWN 
  41. echo "" 
  42. rm -f $IPTEMP $IPUP $IPDOWN 

實現原理:經過for循環,使用arping判斷IP是否存活,判斷的結果分類輸出,包含IP、MAC。
 
2.防SSH和vsftpd暴力破解
   
   
   
   
  1. #!/bin/bash 
  2. #Date:  20120322 
  3. TMP=`mktemp` 
  4. DEFINE=20 
  5. log=/var/log/black.log 
  6. cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2"="$1}' > $TMP 
  7.  
  8. for i in `cat $TMP` 
  9. do 
  10.         IP=`echo $i | awk -F"=" '{print $1}'` 
  11.         NUM=`echo $i | awk -F"=" '{print $2}'` 
  12.         if [ $NUM -gt $DEFINE ]; then 
  13.                 grep $IP /etc/hosts.deny > /dev/null 
  14.                  if [ $? -gt 0 ];then 
  15.                                 echo "sshd:$IP">>/etc/hosts.deny 
  16.                  fi 
  17.         fi 
  18. done 
  19.  
  20. rm -rf $TMP 
實現原理:分析/var/lob/secure日記,計算同一IP地址訪問驗證失敗次數,達到次數後加入/etc/hosts.deny文件中禁止其訪問。
相關文章
相關標籤/搜索