分享一个Linux VPS下判断是否被CC攻击的命令

当今的互联网环境下,网站被攻击几乎是个常态的存在了,明月感觉圈子里的博客站长们没有被攻击过的站长少之又少,造成这种现象主要是现在实施一次针对某个域名的攻击简直就是“无门槛”,只需一个类似压力测试的客户端以及一定数量免费的代理IP即可,简q g _ a X 5单道一条狗经过人为训练都b ~ O ) ) i可以熟练掌握并实施的地步了。所以作为一名草根博客站长在运维自己的服务器的时候一定要多积累和学习一些基础甚k ? - e N ` =至高+ g z o Z C B级知识来以防不测,这点儿明月l V h , o B * 9一直都在孜孜不倦的学习中……。

分享一个Linux VPS下判断是否被CC攻击的命令

今天明月带给大家的是使用Linux里的tcpdump命令J = R e ` 0分析和判断当前服务器是否正在被CC攻击,+ C C s J k ` w这种检查分析还是很有必要h l R /的,建议各位站长们做好记录保存。

CC攻击{注1}很容易发起,并且几乎不需要成本,导致现在的CC攻击越来越多。大部分搞CC攻击的人,都是用在网上下载的工具,这些工具很少去伪造特征,所以会留下一些痕迹。

使用下面的命令,可以分析下是否在被CCb & E [ , | ]攻击。

第一条命令:

tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*0 ; a N B d :'

正常的输出结果类似于这样

POST /ajax/validator.php HTTPv ) Q , # | 6/1.1
POSs B Z ! x F AT /api_redirect.php HTTP/1.1
GET /team/57085.htme T + 8 M j ll HTTP/1.1
POST /order/pay.php HTTP/1.1
GET /static/goodsimg/20140324/1_47.jpg HTTP/1.1
GET /static/theme/qq/css/i{ g / M o / 4ndex.css HTTP/1.1
GET /static/js/index.js HTTP/1.1
GE3 T ST /_ o  5 @ Lstatic/js/customize.js HTTP/1.1
GET /ajax/logih (  pnjs.php?type=topbar& HTTP/1.1
GE% J . t cT /static/js/jquery.js HTTP/1.1
GET /ajax/load_team_time.php?team_id=57085 HTTP/1.1
GET /static/theme/qq/css/index.css HTTP/1.1
GET /static/D s r G $ W !js/lazyl;  I 3 E Y !oad/jquery.J q t Blazyload.= x 1 = + bmin.js HTTP/1.1
GET /static/js/MSIE.PNG.jsn 6 P 7 { ~ HTTP/1.1
GET /static/js/index.js HTTP/1.1
GET /static/js/customize.jsu q 0 w 0 3 D b HTTP/1.1
GET /ajax/loginjs.php?type=topbar& HTTP/1.1
GET /static/theme/qq/css/i/logo.jpg HTTP/1.1
GET /static/theme/qq/css/i/logos.pc 1 1 xng HTTP/1.1
GET /static/theme/qq/css/i/hot.gif HTTP/1.1
GET /s^ _ # 0 g Y t z ptatic/theme/qq/c{ D T d ` h + Gss/i/brand.gif HTTP/1.1
GET /static/theme/qq/css/i/new.gif HTTP/1.1
GET /static/js/jquery.js HTTP/1.1
GET /static/they 3 n = , 6 xme/qq/css/i/logo.jpg HTTP/1.1

正常命令结果以静态文件为主,比如css,js,各种图N 4 g t } @ p片。

如果是被攻击,会出现大量固定的地址q | U,比如攻击的是首页,会有大量的“GET / HTTP/1.1”,或者有一定P L b N A , & K ^特征的地址,比如攻击的如果是Discuz论坛,那么可能会出现大量的“/thread-随机数字-1-1.html”这样的地址。

第二条命令:

tcpdump -s0 -A -n -i any | grep ^User-Agent

J l = r z S =出结果类似于下面:

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatible; MSIEf ; _ c 9 & 4 4 9.0; Window, 2 U A j n q ? Ss NT 6.1# : U c k; Tridentq : # O [ l  J/5.0)
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gh L `  + : % N recko) ChromM 1 M De/21.0.1180.89 Safari/537.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.U L T l }0.1180.89 Safari/537.1
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Tride| W + Wnt/5.0)
User-Agent: Mozilla& P ; T (/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (Windows NT 5.1) Appl6 / F ( ; M j h 8eWebKit/537.1 (KHTML, like Gecko) Chrome/21.{ v z ) t + U 40.1180.89 Safari/537.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebO Q #Kit/537.1 (KHTML, like Gecko) CX 5 X K & Phrome/21.0.1180.89 Safari/537.1
User-Ag( X V F Pent: Mozilla/4, 0 , y 0.0 (compatible; MSIE 7.0; Wi* Z C i T s _ ,ndows NTB F 8 X p J 5.1; Trident/4.0; .NET CLR 2.0. ` S  ] U I s50727; 360space)} p #
User-Agent: MozilK { m [ Y i E 7 Cla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Ch! + 4 Y : R l { 2rome/21.0.1180.89 Safari/537.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NE4 # pT CLR 2. 5 ~ H0.50727; 360space)
User-Agent: Mozilla/5.0 (cv | M D # q { c Bompatible; bingbot/2.0; +http://www.bing.con N n ; :m/bingbot.htm)
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHT[ o = + sML, like Gecko)G _ = l 4 ) 9 @ Chrome/21.0.1180.89 Safari/537.1
User-O q & (Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
User-Agent: Mozilla/5.0 (WindN i k F ( Rows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
UseD . s ) K /r-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatP * 4ible; MSIE 9.0; Windows NT 6.1; Trid/ . d + . @ent/5.A d t0)
Use} J _ p K - T lr-Agent: Mozilla/5.0 (comp| f ` 2atibL V  D | N ^le; MSIE 9.0; Windows NTL y D 5 # O 6.1; Trident/5.0)
User2 J r-Agent: Mozilc % 9 q 6 X G hla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agentg P X + 6 f O: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.9 G k g %  x0)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
User-Agent: Mozilla/5.0 (compatib] M mle; MSIE 9.0; Windows NT 6.| m o1; Trident/5.0)
User-Agent: Mozilla/4.0 (compatib8 f m a 9 z J X ^le; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2: z = 7 { @)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT; ^ W f $ j 0 ) 6.1; Trident/5.0)

这个是查看客户端的useragent,正常的结果中,是各种各样的useragent。

大多数攻击使用的是固定的useragent,也就是会看到同一个useragent在刷2 6 b V屏。随机的useragent只见过一次,但是给搞成了类似于这样“axd5m8usy”,还是可以_ j Y S u * 3分辨出来。

第三条命令:

tcpdump -s0 -A -n -i any | grep ^Host

如果- c ~ E T机器上的网站太多,可以用上面的命令找出是哪个网站在被大量请求

输出结果类似于下面这样

Host: www.server110.com
Host: www.Y C oserver11R y y ] ` x y h0.com
Host: www.p C ? P M ^ d ,server110.com
Host: upload.server110.com
Host: upload.server110.com
Host: upload.server110.com
Host: uV R dpload.server110.com
Hostn , S: uplZ A f l aoad.server110.co/ : 9 ? m X U 9 Bm
Hu D ? T G U o N _ost: upload.server110.com
Host: upload.server110.com
Host: upload.server110.com
Host: upB * ~ W & 6 b ( 3load. h o q b ( v x pser) t  ( W 2 C y Kver110.com
Host: www.server110.com
Host: upload.server110.com
Host: uz 7 w 9 [ i w r #pload.server110.com
Host: upload.server110.com
Host: www.server110.^ @ Lcom
Host: www.server110.com
Host: upload.server110.com
Host: upload.server110.com
Host: upload.server110.com
Host: www.seE K A 0 _rver110.com
Host: upload& % 6.server110.com
Host: upload.server110.com^ 2 u r 1
Host: www.server110.com

一般系统不会默认安装tcph ^ 7 1 /dump命令

centos安装方法:yum install -y tcpdump

debian/ubuntue ( #安装方法:apt-get install -y tcpdump

很多小白用户不懂得如何设置日志,查看日志,使用上面的命令则简单的多,复制到命令行上运行即可。

上述第三条命令真的是惊 & = ) ]到明月了,这世界上竟然还有这么贴心的命令,哈哈,这最后一条命令对目前的明月来说简直就是“及时雨”呀,可以说是明月每天服务器运维最需要使用的命令之一,真心是赞呀!LQ G Binux威武!

强烈建议各位站长们记录今天分享的这三个命令行,真的是居家旅行必备神器呀!


  1. 攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(W 8 ` t _ zChallengeCollapsar)。CC主要是用来攻击页面的。大S p ! = ! = { v sc c [ q都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就a j b相当可观。 ↩