如何在Linux上使用netstat命令查證DDOS攻擊

edithfang發表於2014-06-08

伺服器出現緩慢的狀況可能由很多事情導致,比如錯誤的配置,指令碼和差的硬體。但是有時候它可能因為有人對你的伺服器用DoS或者DDoS進行洪水攻擊。


DoS攻擊或者DDoS攻擊是試圖讓機器或者網路資源不可用的攻擊。這種攻擊的攻擊目標網站或者服務通常是託管在高防伺服器比如銀行,信用卡支付網管,甚至根域名伺服器,DOS攻擊的實施通常迫使目標重啟計算機或者消耗資源,使他們不再提供服務或者妨礙使用者,訪客訪問。

在這篇小文章中,你可以知道在受到攻擊之後如何在終端中使用netstat命令檢查你的伺服器。

一些例子和解釋

netstat -an | grep :80 | sort
只顯示連線到80段口的活躍的網路連線,80是http埠,這對於web伺服器非常有用,並且對結果排序.對於你從許多的連線中找出單個發動洪水攻擊IP非常有用
netstat -n -p|grep SYN_REC | wc -l
這個命令對於在伺服器上找出活躍的SYNC_REC非常有用,數量應該很低,最好少於5.
在dos攻擊和郵件炸彈,這個數字可能非常高.然而值通常依賴於系統,所以高的值可能平分給另外的伺服器.
netstat -n -p | grep SYN_REC | sort -u
列出所有包含的IP地址而不僅僅是計數.
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出所有不同的IP地址節點傳送SYN_REC的連線狀態
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令來計算每個IP地址對伺服器的連線數量
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出使用tcp和udp連線到伺服器的數目
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
檢查ESTABLISHED連線而不是所有連線,這可以每個ip的連線數
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
顯示並且列出連線到80埠IP地址和連線數.80被用來作為HTTP

如何緩解DDoS攻擊

當你發現攻擊你伺服器的IP你可以使用下面的命令來關閉他們的連線:

iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT

請注意你必須用你使用netstat命令找到的IP數替換$IPADRESS在完成以上的命令,使用下面的命令殺掉所有httpd連線,清除你的系統,然後重啟httpd服務。

killall -KILL httpd service httpd start #For Red Hat systems /etc/init/d/apache2 restart #For Debian systems
原文由邪紅色資訊保安組織[OWL]翻譯自:http://linuxaria.com/howto/how-to-verify-ddos-attack-with-netstat-command-on-linux-terminal
評論(1)

相關文章