歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何使用netstat命令驗證DDOS入侵

如何使用netstat命令驗證DDOS入侵

日期:2017/2/28 14:31:00   编辑:Linux教程

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

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

Netstat 的10個基本用法 http://www.linuxidc.com/Linux/2014-01/94644.htm

Linux netstat命令 http://www.linuxidc.com/Linux/2013-06/85528.htm

Linux netstat命令詳解 http://www.linuxidc.com/Linux/2012-12/75667.htm

Linux命令:service & netstat http://www.linuxidc.com/Linux/2011-12/48395.htm

Linux下用netstat命令查看網絡負載狀況的一條語句 http://www.linuxidc.com/Linux/2011-08/41429.htm

LPI認證考試學習之Linux netstat 命令詳解 http://www.linuxidc.com/Linux/2009-12/23197.htm

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

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

一些例子和解釋

  1. netstat -na

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

  1. netstat -an | grep :80| sort

顯示所有80端口的網絡連接並排序。這裡的80端口是http端口,所以可以用來監控web服務。如果看到同一個IP有大量連接的話就可以判定單點流量攻擊了。

  1. netstat -n -p|grep SYN_REC | wc -l

這個命令可以查找出當前服務器有多少個活動的 SYNC_REC 連接。正常來說這個值很小,最好小於5。 當有Dos攻擊或者郵件炸彈的時候,這個值相當的高。盡管如此,這個值和系統有很大關系,有的服務器值就很高,也是正常現象。

  1. netstat -n -p | grep SYN_REC | sort -u

列出所有連接過的IP地址。

  1. netstat -n -p | grep SYN_REC | awk '{print $5}'| awk -F:'{print $1}'

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

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

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

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

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

  1. netstat -ntu | grep ESTAB | awk '{print $5}'| cut -d:-f1 | sort | uniq -c | sort -nr

檢查 ESTABLISHED 連接並且列出每個IP地址的連接數量。

  1. netstat -plan|grep :80|awk {'print $5'}|cut -d:-f 1|sort|uniq -c|sort -nk 1

列出所有連接到本機80端口的IP地址和其連接數。80端口一般是用來處理HTTP網頁請求。

如何減少DOS攻擊

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

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

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

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

  1. killall -KILL httpd

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

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

Copyright © Linux教程網 All Rights Reserved