如何在Linux上用命令查询是否被DDOS攻击
服务器出现缓慢的状况可能由很多事情导致,比如错误的配置,脚本和差的硬件。但是有时候它可能因为有人对你的服务器用DoS或者DDoS进行洪水攻击。
如何在Linux上使用netstat命令查证DDOS攻击
DoS攻击或者DDoS攻击是试图让机器或者 *** 资源不可用的攻击。这种攻击的攻击目标网站或者服务通常是托管在高防服务器比如银行,信用卡支付网管,甚至根域名服务器,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}'列出所有不同的IP地址节点发送SYN_REC的连接状态netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n使用netstat命令来计算每个IP地址对服务器的连接数量netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n列出使用tcp和udp连接到服务器的数目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
如何缓解DDoS攻击
当你发现攻击你服务器的IP你可以使用下面的命令来关闭他们的连接:
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
请注意你必须用你使用netstat命令找到的IP数替换$IPADRESS
在完成以上的命令,使用下面的命令杀掉所有httpd连接,清除你的系统,然后重启httpd服务。
killall -KILL httpd service httpd start #For Red Hat systems /etc/init/d/apache2 restar
Linux系统用netstat命令查看DDOS攻击具体命令用法如下:
代码如下: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}'
列出所有不同的IP地址节点发送SYN_REC的连接状态
代码如下:netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令来计算每个IP地址对服务器的连接数量
代码如下:netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出使用tcp和udp连接到服务器的数目
代码如下: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
如何缓解ddos攻击
当你发现攻击你服务器的IP你可以使用下面的命令来关闭他们的连接:
代码如下:iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
请注意你必须用你使用netstat命令找到的IP数替换$IPADRESS
怎样判断网站是被DNS劫持了?
可以先检测,看看是哪个劫持,再看这种劫持问题的解决办法是什么?
IIS7网站监控
检测网站是否被劫持、域名是否被墙、DNS污染检测、网站打开速度检测等信息。
对应劫持问题的解决办法:
一、DNS域名劫持,通过攻击互联网上的DNS服务器,伪造DNS服务器,指引用户指向错误的一个域名地址。简单的说就是DNS服务器被更改了。这种情况下你可以尝试域名DNS查询工具识别或全国Ping,一般都可以看到没有按照你的要求指向的,都是被劫持的。
二、域名解析,通常输入HTTP网站跳转到另一个协议,或者在移动客户端输入域名,弹出很多广告,那么可以确定的是域名被劫持了,也可以用工具查询,比如HTTP状态查询等。
三、流量劫持,打开网站弹出很多窗口,并且不断打开,而且提示下载等,这种就属于流量劫持,也属于数据劫持,他的行为判断是比较明显的,如果是独立服务器在资源限制的情况下,恶意代码在网页或者服务器,会造成服务器流量损失。
如何看Linux服务器是否被攻击?
以下几种 *** 检测linux服务器是否被攻击:\x0d\x0a1、检查系统密码文件 \x0d\x0a首先从明显的入手,查看一下passwd文件,ls _l /etc/passwd查看文件修改的日期。 \x0d\x0a2、查看一下进程,看看有没有奇怪的进程 \x0d\x0a\x0d\x0a重点查看进程:ps _aef | grep inetd inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果看到输出了一个类似inetd _s \x0d\x0a/tmp/.xxx之类的进程,着重看inetd \x0d\x0a_s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中\x0d\x0a也仅仅是inetd \x0d\x0a_s,同样没有用inetd去启动某个特定的文件;如果使用ps命令看到inetd启动了某个文件,而自己又没有用inetd启动这个文件,那就说明已经有人入侵了系统,并且以root权限起了一个简单的后门。\x0d\x0a3、检查系统守护进程 \x0d\x0a检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep _v “^#”,输出的信息就是这台机器所开启的远程服务。 \x0d\x0a一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。\x0d\x0a4、检查 *** 连接和监听端口 \x0d\x0a输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。 \x0d\x0a输入netstat _rn,查看本机的路由、网关设置是否正确。 \x0d\x0a输入 ifconfig _a,查看网卡设置。 \x0d\x0a5、检查系统日志 \x0d\x0a命令last | \x0d\x0amore查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系\x0d\x0a统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现\x0d\x0asyslog被非法动过,那说明有重大的入侵事件。 \x0d\x0a在linux下输入ls _al /var/log \x0d\x0a检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种 *** 。 \x0d\x0a6、检查系统中的core文件 \x0d\x0a通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵 *** ,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说并不能\x0d\x0a100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core \x0d\x0a_exec ls _l {} \; 依据core所在的目录、查询core文件来判断是否有入侵行为。\x0d\x0a7、检查系统文件完整性 \x0d\x0a检查文件的完整性有多种 *** ,通常通过输入ls _l \x0d\x0a文件名来查询和比较文件,这种 *** 虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm _V \x0d\x0a`rpm _qf 文件名` \x0d\x0a来查询,查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的 *** 也很多,这里不一一赘述,可以man \x0d\x0arpm来获得更多的格式。
0条大神的评论