Linux系统如何查看是否被CC攻击命令详解

Linux系统如何查看是否被CC攻击命令详解

Linux系统如何查看是否被CC攻击命令详解

CC攻击主要攻击页面,模拟很多用户来不断的访问网站,导致系统资源被大量占用,那么在Linux系统中,我们要如何知道自己是否被cc攻击了呢?


查看所有80端口的连接数:
netstat -nat|grep -i "80"|wc -l

对连接的IP按连接数量进行排序:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

查看TCP连接状态:
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

查看80端口连接数最多的20个IP:
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

用tcpdump嗅探80端口的访问看看谁最高:
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

查找较多time_wait连接:
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

封单个IP的命令是:
iptables -I INPUT -s 211.1.0.0 -j DROP

封IP段的命令是:
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP

封整个段的命令是:
iptables -I INPUT -s 211.0.0.0/8 -j DROP

封几个段的命令是:
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP

想在服务器启动自运行的话有三个方法:
1、把它加到/etc/rc.local中
2、iptables-save 》/etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
3、service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
后两种更好此,一般iptables服务会在network服务之前启来,更安全。

解封的话:
iptables -D INPUT -s IP地址 -j REJECT
iptables -F 全清掉了

查找较多的SYN连接:
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

关于SYN:
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
列出所有状态的连接数。

netstat -n -p -t | grep SYN_RECV | grep :80 | wc -l
查看80的SYN_RECV情况。

netstat -anp |awk ‘{print $6}’|sort|uniq -c |sort -rn
这里我们查看SYN_RECV这些,看他的连接数高不高,好几百,就有可能被ddos了。

接下来追查是来自哪个ip发出的syn:
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

接下来继续看下:
netstat -ntu | grep SYN | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n more
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

确认了被syn攻击后,我们来改动下syn。

tcp_max_syn_backlog加大SYN队列的长度可以容纳更多等待网络连接数。
tcp_synack_retries和tcp_syn_retries定义SYN 的重试连接次数,将默认的参数减小来控制SYN连接次数的尽量少。

修改方法,使配置立即生效,无需重启,可以执行:
#sysctl -w net.ipv4.tcp_max_syn_backlog=10240
#sysctl -w net.ipv4.tcp_syncookies=1
#sysctl -w net.ipv4.tcp_synack_retries=3
#sysctl -w net.ipv4.tcp_syn_retries=3
然后立即查看syn是否降下来了。

相较于Windows系统下cc攻击的查看,Linux系统的查看相对复杂些,也比较难懂,需要一定的系统知识储备。
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明 1、本站所发布的全部内容源于互联网搬运,(包括源代码、软件、学习资料等)本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的23个小时之内,从您的电脑或手机中彻底删除上述内容。
2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!敬请谅解! 侵删请致信E-mail:messi0808@qq.com
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为www.77code.com
4、如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

琪琪源码网 技术文章 Linux系统如何查看是否被CC攻击命令详解 https://www.77code.com/zh/jishu/6724.html

相关文章