使用netstat命令驗證DDOS入侵

chunlian8492發表於2017-04-23

一般來說,伺服器非常慢可能原因是多方面的,有可能是配置錯誤,指令碼錯誤或者是一些奇詭的硬體。當然也有可能是有人對你的伺服器進行 Dos (拒絕服務攻擊)或者 DDOS (分散式拒絕服務攻擊)。

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

在本文中你將知道如何在終端中使用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 系統

via: http://linuxaria.com/howto/how-to-verify-ddos-attack-with-netstat-command-on-linux-terminal






好了,以上是所有內容了.

如果你文章中有不正確的地方,或者你有更好的idea。

歡迎來和我分享。E-mail:luchuanjia@msn.com



轉載於:https://my.oschina.net/samzong/blog/885656

相關文章