一. 常見的DDos***類型html
SYN Flood:是當前最流行的DoS(拒絕服務***)與,這是一種利用TCP協議缺陷,發送大量僞造的TCP鏈接請求,從而使得被***方資源耗盡(CPU滿負荷或內存不足)的***方式。bash
Smurf:該***向一個子網的廣播地址發一個帶有特定請求(如ICMP迴應請求)的包,而且將源地址假裝成想要***的主機地址。子網上全部主機都回應廣播包請求而向被***主機發包,使該主機受到***。網絡
Land-based:***者將一個包的源地址和目的地址都設置爲目標主機的地址,而後將該包經過IP欺騙的方式發送給被***主機,這種包能夠形成被***主機因試圖與本身創建鏈接而陷入死循環,從而很大程度地下降了系統性能ide
Ping of Death:根據TCP/IP的規範,一個包的長度最大爲65536字節。儘管一個包的長度不能超過65536字節,可是 一個包分紅的多個片斷的疊加卻能作到。當一個主機收到了長度大於65536字節的包時,就是受到了Ping of Death***,該***會形成主機的宕機。性能
Teardrop:IP數據包在網絡傳遞時,數據包能夠分紅更小的片斷。***者能夠經過發送兩段(或者更多)數據包來實現TearDrop***。第一個包的偏移量爲0,長度爲N,第二個包的偏移量小於N。爲了合併這些數據段,TCP/IP堆棧會分配超乎尋常的巨大資源,從而形成系統資源的缺少甚至機器的從新啓動。htm
二. 如何檢測是否遭受了DDos***blog
第一種方法:這裏有一條很是實用的命令ip
# netstat -an|grep SYN_RECV|wc –l內存
若是顯示的數據比較大的話,你極可能已經中招了。ci
第二種方法:用監控軟件,好比mrtg或cacti均可以,好比下面顯示,流量在某一時刻忽然劇增
三. 如何預防DDos,這裏有一個很是實用的腳本
#!/bin/bash
netstat -an|grep SYN_RECV|awk '{print$5}'|awk -F: '{print$1}'|sort|uniq -c|sort -rn|awk '{if ($1 >5) print $2}' >> /tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -s $i -j DROP
echo “$i kill at `date`” >>/var/log/ddos
done
該腳本會把處於SYN_RECV而且數量達到5個的ip作統計,而且寫到iptables的INPUT鏈作拒絕。