Linux監測某一時刻對外的IP連接情況

相信大家都熟悉netstat命令吧,這裏就主要採用此命令,網上流傳的DDoS Deflate工具就是採用IP數量來統計對外連接數,然後結合Iptables的方法來實現某個IP加入黑名單和解禁某IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
其中採用的命令,有明顯的不足,如沒有判斷是否爲本地連接127.0.0.1或任意地址標識0.0.0.0或空的情況,也沒有去掉netstat輸出的前兩行文字頭,且應該降序輸出

我自己的版本:

netstat -ant |sed '1,2 d'| awk '{print $5}' | sort | cut -d: -f1 |awk '{if($1!="0.0.0.0" && $1!="" && $1!="127.0.0.1"){print $1}}'| uniq -c |sort -nr

輸出爲

 2 173.194.72.95
      1 98.254.64.168
      1 91.189.89.144
      1 91.122.59.53
      1 82.208.89.58
      1 81.7.14.114
      1 70.112.226.65
      1 180.76.22.33
      1 143.215.130.46
      1 126.107.72.9
      1 117.79.93.218

設定一個闕值value,若某一時刻,某個對外連接的某個IP1總數超過這個value,則以(IP1,starttime)加入黑名單,然後iptables -t filter -A INPUT  -s IP1 DROP.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章