如何进行网站日志分析
一、什么是网站日志
1.网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件。
2.通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器、什么分辨率设备下访问了网站的哪个页面,是否访问成功。
3.搜索引擎也属于网站中的一类用户,我们今天的分享课,主要是针对搜索引擎这种用户在服务器留下的记录展开分析。
为了方便读懂搜索引擎日志,我们需要了解不同搜索引擎蜘蛛的标识,以下为4种搜索引擎的标识——*百度蜘蛛:Baiduspider*搜狗:Sogou News Spider*360:360Spider*谷歌:Googlebot
二、如何看懂网站日志
(以下为一段日志记录)
58.180.251.134 - - [25/Mar/2015:13:24:33 +0800] "GET /m53256.html
HTTP/1.1" 200 12264 "" "Mozilla/5.0
(Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0" "-" "-" "-"
以下为字段解读:
通常日志文件较大的情况下,需要借助shell与python结合起来,做数据提取与分析。所以读懂网站日志中的字段就有利于日常的分析。这个在此不赘述,有兴趣的童鞋 可以继续深入了解。
大型网站通常可以用以上的方法来进行做日志分析。
普通的个人站点,或者企业网站,则可以通过 光年日志分析工具结合百度站长平台一起使用。
三、为什么要做网站日志分析
先来了解SEO流量的获取流程:抓取--索引---排名---点击---流量
因此,要获得SEO流量的前提务必是,有价值的页面被搜索引擎抓取到。
所以,对于SEO运营而言,分析搜索引擎网站日志就显得非常有必要:*分析抓取有无:解决一定的索引问题。*发现异常:及时规避。如存在大量异常页面,404等*抓取调控:让更多优质的内容被抓取,过滤无效抓取。
网站分析的最终目标:让更多有价值的页面被抓取,将有机会获得索引,从而有机会获得SEO流量。
四、怎么做网站日志分析
*定期监控搜索引擎抓取量变化,历史数据的横向纵向对比才能发现异常情况。*借助第三方站长平台,如百度站长平台,了解搜索引擎抓取频次变化。*借助光年日志分析工具,定期做数据记录,了解重要栏目、重要页面的抓取量变化。
举个栗子:
老站点(建站1年且有人维护的网站):Seo流量出现异常波动。
分2种情况:
了解外界:了解外界的前提在于平时你得有一定的人脉基础,如果没有也没关系。泡2个地方——去搜索引擎站长平台或者加入搜索引擎站长群。比如,像百度搜索引擎,它拥有站长平台,也会相应建立站长QQ群。有人脉基础上,可以直接了解外界的情况——是否也出现类似幅度的波动?这个的前提要结合你短期做过的SEO操作一并考虑,避免误判。无人脉的情况,泡群、泡站长平台。通常如果是搜索引擎算法升级,会在群里或者站长平台有相关的小道信息出现。如果是搜索引擎自身算法升级导致的流量波动,那么就得根据新算法做相应的站内优化。比如,百度冰桶3.0版本提出:将严厉打击在百度移动搜索中,打断用户完整搜索路径的调起行为。如果站点有存在以上的情况就需要针对性的做优化:无论是通过对接的APPLINK调起,还是网页自主调起的应用,以及普通的网页,都应是可返回,可关闭的。用户校验搜索结果的准确性,不需要额外下载APP或者权限。
分析内在:
在分析内在之前,再次抛出这个公式:Seo流量=抓取量*收录率(准确来说应该是索引率)*首页率*点击率
。当抓取频次出现异常必然引起抓取量的减少。因此,排除了外界的因素,就需要对网站的日志进行分析。如果你的站点是中文站点,且是百度站长平台的VIP用户。那么,你就可以先借助第三方站长平台的“抓取频次”工具(如,百度),先了解搜索引擎近期的抓取频次、抓取时间、异常页面。通常借助这个工具,我们可以对搜索引擎近期抓取情况有初步了解,并且可以借助这个工具,相应的找到一些解决办法。
在此先解释这个概念,方便理解:
1.抓取频次:抓取频次是搜索引擎在单位时间内(天级)对网站服务器抓取的总次数,如果搜索引擎对站点的抓取频次过高,很有可能造成服务器不稳定,蜘蛛会根据网站内容更新频率和服务器压力等因素自动调整抓取频次。
2.抓取时间:指的是搜索引擎每次抓取耗时。而影响抓取频次的可能原因有:
(1)抓取频次上限误调,调低了,则会直接影响到抓取量减少,抓取量减少则索引量少,流量相应减少。
(2)运营层面:存在大量重复页面(情况一:自身网站存在大量重复的内容。情况二:自身网站内容采集了大量互联网已存在的内容)。从搜索引擎的目标出发——搜索引擎希望抓取到更多更好的页面,而你的网站产出的却是网上泛滥的内容,何必浪费资源在你的网站上?另外,网站内容太久不更新。建议,通过有规律定期产出优质内容来解决此问题。抓取时间变长,也会导致网站抓取量减少。通常存在的可能情况是,服务器速度变慢导致抓取时间变长。还有一种可能是与网站自身结构有关系。层级太深导致。
小结一下:
老站如何做网站日志分析(针对中文站点):外界排除:
了解搜索引擎最新算法是否发生变动、同行是否也有类似变化。
内在分析:
(1)使用工具:百度站长平台(非VIP账户看后文介绍)
(2)分析方法:主要使用抓取频次分析工具进行分析,网站抓取频次、抓取时间、异常页面情况等数据变化。并与相关部门进行对接解决。
五、用光年日志分析工具
非百度VIP:
步骤:
1.下载网站日志(如果是企业站点,可以直接让运维部门的童鞋帮忙下载,如果是个人站长,直接在你所购买的虚拟主机后台进行下载,文件以.log为结尾的便是)
2.打开光年日志分析工具,上传网站日志。
3.查看分析结果。主要维度有这几个:
(1)概况分析:各种爬虫的总抓取量、总停留时间、总访问次数。
(2)目录分析:各种爬虫抓取各目录的情况分析。通过这个可以了解到搜索引擎对一些重要栏目的抓取情况,又抓取了哪些无效的页面。
(3)页面分析:通过页面分析可以了解到经常被重复抓取的页面有哪些,可以相应的做优化调整。比如,像网站的一些注册页面及登录页面,经常会发现多次被抓取,发现这种情况,我们通常会将登录/注册页面进行屏蔽处理。
(4)状态码分析主要分为2种,爬虫状态码以及用户状态码。主要反应用户/爬虫访问页面时的页面状态。通过页面状态码,我们可以了解到页面状态,做相应调整,如,当网站存在大量404页面。那就需要进一步排查,比如,有些团购页面,团购过期后,页面就直接变成404了,但并未向百度站长平台提交死链清单,则容易造成无效抓取。
爱站SEO工具包之日志分析工具
爱站SEO工具包之网站日志分析工具的使用方法。
1、此工具可以自动识别IIS、Apache、Nginx日志格式,支持直接拖拽日志一个或多个文件(夹)至窗口进行分析,每一项数据都分别以“数据显示”和“图形显示”两种不同方式向用户展示数据结果。
2、蜘蛛分析之(概要分析)即所有不同的蜘蛛的访问次数、停留时间、总抓取量的数据分析,(还可以单选不同蜘蛛)进行查询。
蜘蛛分析之(概要分析)图表显示,(还可以单选不同蜘蛛)进行查询显示。
3、蜘蛛分析之(目录抓取)即站点目录被抓取的数据量分析。
可以针对对某个目录或蜘蛛进行单独查询分析,且可切换至图表显示,显示抓取量饼图,轻松了解蜘蛛抓取目录概况。
4、蜘蛛分析之(页面抓取)
所有页面蜘蛛抓取量分析,还可以针对某个页面或某个蜘蛛进行单独查询分析。切换至图标显示,可以显示页面抓取量饼图,快速了解抓取量最多的页面,轻松分析页面抓取情况。
5、蜘蛛分析之(IP排行)
分析所有蜘蛛IP地址的访问次数、抓取量和停留时长,并可以针对某个ip或蜘蛛进行单独查询分析。
6、搜索引擎分析之(关键词分析)可分析出各搜索引擎来路的关键词。
7、 状态码分析分为用户状态码和蜘蛛状态码。通过查看网站正常状态码和问题状态码,第一时间发现网站的问题页面,及时修改,改善用户体验和蜘蛛体验。
8、按时间统计,工具自动保存不同日期的日志文件数据,每一项统计功能都可以按照时间来分析,可有效查看时间段内的数据变化趋势。(还可以单选不同蜘蛛)进行查询显示。
以上就是爱站SEO工具包之网站日志分析工具的详细介绍。
web日志分析工具 怎么确认被攻击
Apache 服务器
预安装在Kali Linux
可以用以下命令开启:
service apache2 start
MySQL
预安装在Kali Linux
可以用以下命令开启:
service mysql start
使用PHP-MySQL创建一个有漏洞的web应用
我使用PHP开发了一个有漏洞的web应用并且把它放在上面提到的 Apache-MySQL里面。
上述设置完成后,我用了一些Kali Linux中的自动工具(ZAP、w3af)扫描这个有漏洞的应用的URL。
现在让我们来看看分析日志中的不同情况。
0x02 Apache服务中的日志记录
Debian系统上Apache服务器日志的默认位置为:/var/log/apache2/access.log
日志记录只是在服务器上存储日志。我还需要分析日志以得出正确结果。在接下来的一节里,我们将看到我们如何分析Apache服务器的访问日志以找出web站点上是否有攻击尝试。
分析日志
手动检查
在日志量较小的情况下,或者如果我们查找一个指定关键词,可以使用像grep表达式这样的工具观察日志。
在下图中,我们在URL中试图搜寻所有关键词为“union”的请求。
从上图中,我们可以看到URL中的“union select 1,2,3,4,5”请求。很明显,ip地址为 192.168.56.105的某人尝试了SQL注入。 类似地,当我们有自己的关键词时可以搜索特殊的关键词。
在下图中,我们正在搜索试图读取“/etc/passwd”的请求,很明显是本地文件包含尝试。
如上面的截图所示,我们有许多本地文件包含的尝试,且这些请求发送自ip地址 127.0.0.1。
很多时候,能轻易通过日志看出是否是自动化扫描器产生的。
举例来说, IBM appscan在许多攻击payload中使用“appscan”这个词。所以,在日志中查看这样的请求,我们基本就可以判断有人在使用appscan扫描网站。
Microsoft Excel也是一个打开日志文件和分析日志的不错的工具。我们可以通过指定“空格”为分隔符以用excel打开日志文件。
当我们手头没有日志分析工具时,这个也挺好用的。
除了这些关键词,在分析期间要了解HTTP状态代码的基础知识。以下是关于HTTP状态代码的高级信息的表格。
0x03 Web shells
webshell是网站/服务器的另一个问题。webshell可以已web server权限控制服务器。
在一些情况下,我们可以使用webshell来访问所有放在相同服务器上的其他站点。
以下截图显示了Microsoft Excel 中开启相同的access.log文件。
我们清楚地看到有一个叫“b374k.php”的文件被访问了。“b374k”是一个流行的webshell,因此这个文件是很可疑的。
查看相应代码“200”,本行表明有人上传了一个webshell并访问了它。
在许多情况下,攻击者重命名webshell的名字以避免怀疑。我们必须变得聪明点,看看被访问的文件是否是常规文件或者是否他们看起来不太一样。我们可以更进一步,如果任何文件看起来可疑的话,还可以查看文件类型和时间戳。
One single quote for the win
SQL注入是web应用中最常见的漏洞之一。大多数学习web应用安全的人是从学习SQL注入开始的。
识别一个传统的SQL注入很容易,给URL参数添加一个单引号看看是否报错。
任何我们传递给服务器的东西都会被记录,并且可以朔源。
以下截图显示了日志当中记录了有对参数user传入单引号测试是否有SQL注入的行为。
%27是单引号的URL编码。
出于管理目的,我们还可以运行查询监视来查看数据库中的哪个请求被执行了。
如果我们观察以上图片,传递一个单引号给参数“user”的SQL语句被执行了。
0x04 使用自动化工具分析
当存在大量日志时。手动检查就会变得困难。在这种情景下,除了一些手动检查之外我们可以使用自动化工具。
虽然有许多高效的商业工具,但是我要向你们介绍一款被称为“Scalp”的免费工具。
据他们的官方链接所说,Scalp是用于Apache服务器,旨在查找安全问题的日志分析器。主要理念是浏览大量日志文件并通过从HTTP/GET中提取可能的攻击。
Scalp可以从以下链接下载:
Scalp是python脚本,所以要求我们的机器中安装python。
以下图片显示该工具的帮助。
如我们在上图所见,我们需要使用标志-l来提供要分析的日志文件。
同时,我们需要提供使用标志-f提供一个过滤文件让Scalp在access.log文件中识别可能的攻击。
我们可以使用PHPIDS项目中的过滤器来检测任何恶意的尝试。
该文件名为“default_filter.xml ”,可以从以下链接中下载:
以下代码块是取自上面链接的一部分。
1
2
3
4
5
6
7
8
9
10
11
filter
id12/id
rule![CDATA[(?:etc\/\W*passwd)]]/rule
descriptionDetects etc/passwd inclusion attempts/description
tags
tagdt/tag
tagid/tag
taglfi/tag
/tags
impact5/impact
/filter
它是使用XML标签定义的规则集来检测不同的攻击测试。以上代码片段是检测文件包含攻击尝试的一个示例。
下载此文件之后,把它放入Scalp的同一文件夹下。
运行以下命令来使用Scalp分析日志。
1
python scalp-0.4.py –l /var/log/apache2/access.log –f filter.xml –o output –html
“output”是报告保存的目录。如果不存在的话,由Scalp自动创建。-html是用来生成HTML格式的报告。 如我们在上图看到的那样,Scalp结果表明它分析了4001行,超过4024并发现了296个攻击模式。
运行上述命令后在输出目录内生成报告。我们可以在浏览器内打开它并查看结果。 下面截图显示的输出显示了目录遍历攻击尝试的一小部分。
MySQL中的日志记录
本节论述了数据库中的攻击分析和监视它们的方法。
第一步是查看设置了什么变量。我们可以使用“show variables;”完成,如下所示。
接下来显示了上述命令的输出。
如我们在上图中看到的,日志记录已开启。该值默认为OFF。
这里另一个重要的记录是 “log_output”,这是说我们正在把结果写入到文件中。另外,我们也可以用表。
我们可以看见“log_slow_queries”为ON。默认值为OFF。
所有这些选项都有详细解释且可以在下面提供的MySQL文档链接里直接阅读:
MySQL的查询监控
请求日志记录从客户端处收到并执行的语句。默认记录是不开启的,因为比较损耗性能。
我们可以从MySQL终端中开启它们或者可以编辑MySQL配置文件,如下图所示。
我正在使用VIM编辑器打开位于/etc/mysql目录内的“my.cnf”文件。
如果我们向下滚动,可以看见日志正被写入一个称为“mysql.log”的文件内。
我们还能看到记录“log_slow_queries” ,是记录SQL语句执行花了很长时间的日志。
现在一切就绪。如果有人用恶意查询数据库,我们可以在这些日志中观察到。如下所示:
上图显示了查询命中了名为“webservice”的数据库并试图使用SQL注入绕过认证。
SEO优化如何进行网站日志分析
网站日志中数据量过大,所以我们一般需要借助网站日志分析工具来查看。常用的日志分析工具有:光年日志分析工具、web log exploer 、WPS表格等
117.26.203.167 - - [02/May/2011:01:57:44 -0700] "GET/index.php HTTP/1.1" 500 19967 "-" "Mozilla/4.0 (compatible; MSIE8.0;Windows NT 5.1; Trident/4.0; AskTbCS-ST/5.11.3.15590; .NET CLR 2.0.50727; Alexa Toolbar)"
分析:
117.26.203.167:来访ip
02/May/2011:01:57:44 -0700 访问日期 -时区
GET/index.php HTTP/1.1 根据HTTP/1.1 协议 抓取(域名下)/index.php 这个页面(GET表示服务器动作)
500:服务器响应状态码
服务器响应状态码通常状态码有以下几种:200,301,302,304,404,500等。200代表用户成功的获取到了所请求的文件,如果是搜索引擎,则证 明蜘蛛在这次爬行中顺利的发现了一些新的内容。而301则代表用户所访问的某个页面url已经做了301重定向(永久性)处理,302则是暂时性重 定向。404则代表所访问的页面已经不存在了,或者说访问的url根本就是个错误的。500则是服务器的错误。
19967:表示抓取了19967个字节
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;
AskTbCS-ST/5.11.3.15590; .NET CLR 2.0.50727; Alexa
Toolbar表示访问者使用火狐浏览器及Alexa Toolbar 等访问端信息
如果你的日志里格式不是如此,则代表日志格式设置不同。
很多日志里可以看到 200 0 0和200 0 64 则都代表正常抓取。
抓取频率是通过查看每日的日志里百度蜘蛛抓取次数来获知,抓取频率并没有一个规范的时间表或频率数字,我们一般通过多日的日志对比来判断,当然,我们希望百度蜘蛛每日抓取的次数越多越好,这里分享下如何分辨百度蜘蛛《如何分辨真假百度搜索引擎蜘蛛IP》。
有时候我们的路径不统一出现带斜杠和不带斜杠的问题,蜘蛛会自动识别为301跳转到带斜杠的页面,这里我们就发现了搜索引擎是可以判断我们的目录的,所以我们要对我们的目录进行统一。
我们分析日志分析时间长了,我们能够看出蜘蛛的抓取规律,同一目录下面的单个文件的抓取频率间隔和不同目录的抓取频率间隔都可以看出来,这些抓取频率间隔时间是蜘蛛根据网站权重和网站更新频率来自动确定的。
蜘蛛对于我们的页面的抓取是分等级的,是根据权重依次递减的,一般顺序为首页、目录页、内页
网站日志分析软件的六大功能
我为各大站长以及网站管理员量身定做的一款网站日志分析软件,这款软件支持IIS、Apache网站的日志,支持的日志格式有W3C、IIS、NCSA等格式。这款软件同时还是一款SEO工具,能够帮助站长以及管理员更好的管理站点。
六大功能:
一、蜘蛛抓取
搜索引擎蜘蛛可以自由添加,除统计每个蜘蛛访问了多少次外,还统计每个蜘蛛访问了那些页,访问时间;如果对同一个网页访问了多次,还可以知道首次访问时间和最后离开时间。
二、页面受访
统计每个网页被用户访问了多少次,不包括搜索引擎访问次数;可以知道那个网页最受用户欢迎,也能掌握那个IP恶意访问不存在的网页,揪出扫描服务器的IP、试图恶意上传病毒的用户和想窃取自己网站的'用户;并且详细列出每个网页受访问时间、状态码和来源网址。
三、IP访问页面
分别统计出访客IP和搜索引擎IP的总数,每个IP访问了多少次、到访时间和离开时间;可以掌握那个IP恶意访问,揪出每天访问次数特别多只浪费流量不带来流量的IP。
四、返回状态码
统计返回404、403、500、503、304的网页,并且根据这些状态码进行分类,统计出每个页面每种状态出现多少次;能及时掌握路径更改和不存在的网页。
五、访客来源
分为来源搜索引擎和普通网站,统计出每个搜索引擎来源多少次,通过搜索什么关键词来的,受访的是什么网页,每个网页来源次数(受访次数);来源普通网站是指除搜索引擎外的所有网站;这些信息便于掌握自己的推广效果。
六、搜索关键词
是指从搜索引擎搜索关键词并点击进入您的网站的情况,除统计出每个来源关键词外,还统计每个关键词来源次数,便于掌握那些网页设置的关键词能带来流量。
服务器日志分析工具中文版哪个好用
IIS日志查看器绿色版, 本工具使用本地SQLite微型数据库,支持IIS6、IIS7大日志分析处理,速度极快, 体积小巧,无广告。
主要功能:
1. 分析日志详情,显示蜘蛛\访客到访网址、时间、访者IP、状态码等;最全的条件筛选,网页与资源文件(jpg\png\gif\js\css\txt等)分离查询,可根据多条件进行筛选;
2. 可快捷验证受访URL的在百度中的收录、访客IP归属地、定位该访客所有访问信息,助您排查网站是否受采集、受攻击。
3. 日志导入本地数据库,方便存档。
4. 最全的统计报表;可以:访客分类统计、URL分组统计、状态码统计、IP分类统计、时间段统计等。
5. 可使用Sqlite语句进行自定义查询, 字段为原IIS日志字段名,查询便捷。
其它功能若干,不再一一描述, 欢迎下载体验!
0条大神的评论