如何使用netstat命令辨別DDOS入侵
一般來說,伺服器非常慢可能原因是多方面的,有可能是配置錯誤,腳本錯誤或者是一些奇詭的硬體。當然也有可能是有人對你的伺服器進行 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 系統
※教你編寫一個手勢解鎖控制項
※8 個有力的 Awk 內建變數
TAG:程序員小新人學習 |