如何使用netstat命令辨別DDOS入侵

Dos攻擊或者DDos攻擊目的是使服務器或者網絡資源耗盡,使其他用戶無法使用。一般來說,這種攻擊主要針對重要的網站或服務,比如銀行、信用卡支付網關甚至是根域名服務器。Dos攻擊主要通過強制目標主機重啟或大量消耗其主機資源,使得目標主機無法提供服務或者妨害主機和用戶之間的通信的手段,使得主機無法提供正常的服務的。

如何使用netstat命令辨別DDOS入侵


在本文中你將知道如何在終端中使用netstat命令判斷服務器是否遭受Dos攻擊。

netstat命令的用戶手冊描述其作用是用來顯示網絡連接、路由表、接口統計、偽連接和組播成員的。

一些例子和解釋

netstat -na

該命令將顯示所有活動的網絡連接。

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}'

列出所有發送SYN_REC連接節點的IP地址。

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

使用netstat命令計算每個主機連接到本機的連接數。

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出所有連接到本機的UDP或者TCP連接的IP數量。

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網頁請求。

如何減少DOS攻擊

一旦你獲得攻擊服務器的IP地址你就可以使用以下命令拒絕此IP的所有連接。

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

注意,你需要將 $IPADRESS 替換成需要拒絕連接的IP地址。

執行完以上命令後,使用以下命令結束所有的httpd連接以清理系統。

killall -KILL httpd

然後執行以下命令重啟httpd服務。

service httpd start #RedHat 系統 
/etc/init/d/apache2 restart #Debian 系統


分享到:


相關文章: