如何使用netstat命令验证DDOS入侵

如何使用netstat命令验证DDOS入侵

一般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件。当然也有可能是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDOS (分布式拒绝服务攻击)。

Dos攻击或者DDos攻击目的是使服务器或者网络资源耗尽,使其他用户无法使用。一般来说,这种攻击主要针对重要的网站或服务,比如银行、信用卡支付网关甚至是根域名服务器。Dos攻击主要通过强制目标主机重启或大量消耗其主机资源,使得目标主机无法提供服务或者妨害主机和用户之间的通信的手段,使得主机无法提供正常的服务的。

在本文中你将知道如何在终端中使用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 系统

原文发布时间:2014-06-07

本文来自云栖合作伙伴“linux中国”

时间: 2024-09-17 23:51:32

如何使用netstat命令验证DDOS入侵的相关文章

巧妙使用netstat命令帮助win7系统更安全

  1.检查账户 一些喜欢恶意的攻击者会使用克隆账号的方法来任意控制你的计算机,为了避免这样情况的发生,我们可以用下面的方法对账户进行检测. 方法是:首先在命令提示符窗口下输入netuser,然后查看计算机上有些什么用户,然后再使用"netuser+用户名"查看这个用户是属于 什么权限,一般administrators组只有Administrator用户,如果发现administrators组还有另一个用户的话,说明你 的电脑被入侵了且被克隆了账户.可使用"etuser用户名

【新】netstat命令详解

说明: netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 语法: -a或--all 显示所有连线中的Socket. -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址. -c或--continuous 持续列出网络状态. -C或--cache 显示路由器配置的快取信息. -e或--extend 显示网络其

Linux系统中netstat命令的基本使用方法

  在计算中,netstat(网络统计数据)是一个命令行工具,它显示传输控制协议的网络连接(传入和传出),路由表,和一个数字网络接口 (网络接口控制器或者软件定义的网络接口)和网络协议的统计数据.它可在类Unix操作系统,包括OS X,Linux,Solaris和BSD,并提供对基于Windows NT的操作系统,包括Windows XP,Windows Vista中,Windows 7和Windows8. 本文主要介绍netstat在Linux的使用 netstat man的帮助手册会有提示信

Linux中的netstat命令使用教程

  从整体上看,netstat的输出结果可以分为两个部分: 一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列.这些数字一般都应该是0.如果不是则表示软件包正在队列中堆积.这种情况只能在非常少的情况见到. 另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍). Proto显示

如何用netstat命令查看端口占用问题的技巧

  在Windows系统中的 netstat命令能够知道查看端口.进程占用,那么在netstat命令下要怎么的进行操作呢!现在我们一起来看看吧! 目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用. 操作:操作分为两步:(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令 Netstat –ano|findstr "<端口号>",如图,最后一列为PID.图中的端口号为1068,所对应的PID为3840. (a)图

Linux netstat命令详解

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 2 210.34

ArborPravail APS深层防御DDoS入侵

本文讲的是 :   ArborPravail APS深层防御DDoS入侵,  [IT168技术]近年来,大多数公司都将拒绝服务攻击认为是可接受的威胁,因为成为这种攻击的受害者的可能性以及对企业造成的影响都相对比较小.然而,近日DDoS攻击却越来越普遍,导致很多企业重新思考这种风险影响. DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令.DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采

Linux netstat命令大全详解_Linux

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 210.34.6

Linux netstat命令查看并发连接数的方法_Linux

介绍 并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大信息点数. 实现方法 使用以下命令即可分组查看各种连接状态哦: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: 返回结果示例: LAST_ACK 5 (正在等待处理的请求数) SYN_RE