如何查看及分析网站IIS日志文件

如何查看及分析网站IIS日志文件,第1张

IIS查看分析网站日志需要找到日志目录,下面小编在Win10系统演示一下:

1、打开开始界面,点击左下角的设置图标,如下图所示

2、搜索管理工具,点击进入,如下图所示

3、双击IIS管理器,进入IIS管理界面,如下图所示

4、左侧选择要查看日志的网站,如下图所示

5、右侧找到日志图标,双击进入,如下图所示

6、在日志界面找到目录,点击浏览进入日志文件夹,如下图所示

7、最后在日志文件夹找到日志进行查看分析即可,如下图所示

IIS状态代码的含义

概要

当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码。该状态代码记录在IIS日志中,同时也可能在Web浏览器或FTP客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

更多信息

日志文件的位置

在默认状态下,IIS把它的日志文件放在%WINDIR\System32\Logfiles文件夹中。每个万维网(WWW)站点和FTP站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。

HTTP

1xx-信息提示

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。

100-继续。

101-切换协议。

2xx-成功

这类状态代码表明服务器成功地接受了客户端请求。

200-确定。客户端请求已成功。

201-已创建。

202-已接受。

203-非权威性信息。

204-无内容。

205-重置内容。

206-部分内容。

3xx-重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。

301-对象已永久移走,即永久重定向。

302-对象已临时移动。

304-未修改。

307-临时重定向。

4xx-客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。

401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示:

401.1-登录失败。

401.2-服务器配置导致登录失败。

401.3-由于ACL对资源的限制而未获得授权。

401.4-筛选器授权失败。

401.5-ISAPI/CGI应用程序授权失败。

401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。

403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因:

403.1-执行访问被禁止。

403.2-读访问被禁止。

403.3-写访问被禁止。

403.4-要求SSL。

403.5-要求SSL128。

403.6-IP地址被拒绝。

403.7-要求客户端证书。

403.8-站点访问被拒绝。

403.9-用户数过多。

403.10-配置无效。

403.11-密码更改。

403.12-拒绝访问映射表。

403.13-客户端证书被吊销。

403.14-拒绝目录列表。

403.15-超出客户端访问许可。

403.16-客户端证书不受信任或无效。

403.17-客户端证书已过期或尚未生效。

403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。

403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。

403.20-Passport登录失败。这个错误代码为IIS6.0所专用。

404-未找到。

404.0-(无)–没有找到文件或目录。

404.1-无法在所请求的端口上访问Web站点。

404.2-Web服务扩展锁定策略阻止本请求。

404.3-MIME映射策略阻止本请求。

405-用来访问本页面的HTTP谓词不被允许(方法不被允许)

406-客户端浏览器不接受所请求页面的MIME类型。

407-要求进行代理身份验证。

412-前提条件失败。

413–请求实体太大。

414-请求URI太长。

415–不支持的媒体类型。

416–所请求的范围无法满足。

417–执行失败。

423–锁定的错误。

5xx-服务器错误

服务器由于遇到错误而不能完成该请求。

500-内部服务器错误。

500.12-应用程序正忙于在Web服务器上重新启动。

500.13-Web服务器太忙。

500.15-不允许直接请求Global.asa。

500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。

500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。

500.100-内部ASP错误。

501-页眉值指定了未实现的配置。

502-Web服务器用作网关或代理服务器时收到了无效响应。

502.1-CGI应用程序超时。

502.2-CGI应用程序出错。application.

503-服务不可用。这个错误代码为IIS6.0所专用。

504-网关超时。

505-HTTP版本不受支持。

FTP

1xx-肯定的初步答复

这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。

110重新启动标记答复。

120服务已就绪,在nnn分钟后开始。

125数据连接已打开,正在开始传输。

150文件状态正常,准备打开数据连接。

2xx-肯定的完成答复

一项操作已经成功完成。客户端可以执行新命令。200命令确定。

202未执行命令,站点上的命令过多。

211系统状态,或系统帮助答复。

212目录状态。

213文件状态。

214帮助消息。

215NAME系统类型,其中,NAME是AssignedNumbers文档中所列的正式系统名称。

220服务就绪,可以执行新用户的请求。

221服务关闭控制连接。如果适当,请注销。

225数据连接打开,没有进行中的传输。

226关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。

227进入被动模式(h1,h2,h3,h4,p1,p2)。

230用户已登录,继续进行。

250请求的文件操作正确,已完成。

257已创建“PATHNAME”。

3xx-肯定的中间答复

该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。331用户名正确,需要密码。

332需要登录帐户。

350请求的文件操作正在等待进一步的信息。

4xx-瞬态否定的完成答复

该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。421服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。

425无法打开数据连接。

426Connectionclosedtransferaborted.

450未执行请求的文件操作。文件不可用(例如,文件繁忙)。

451请求的操作异常终止:正在处理本地错误。

452未执行请求的操作。系统存储空间不够。

5xx-永久性否定的完成答复

该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。

501在参数中有语法错误。

502未执行命令。

503错误的命令序列。

504未执行该参数的命令。

530未登录。

532存储文件需要帐户。

550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。

551请求的操作异常终止:未知的页面类型。

552请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。

553未执行请求的操作。不允许的文件名。

常见的FTP状态代码及其原因

150-FTP使用两个端口:21用于发送命令,20用于发送数据。状态代码150表示服务器准备在端口20上打开新连接,发送一些数据。

226-命令在端口20上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。

230-客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。

331-客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。

426-命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。

530-该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS的配置可能拒绝匿名访问。

550-命令未被执行,因为指定的文件不可用。例如,要GET的文件并不存在,或试图将文件PUT到您没有写入权限的目录。

对HTTP404状态码的理解

HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失。

因此,很多网站均使用自定义404错误的方式以提供用户体验避免用户流失。一般而言,自定义404页面通用的做法是在页面中放置网站快速导航链接、搜索框以及网站提供的特色服务,这样可以有效的帮助用户访问站点并获取需要的信息。

404错误的处理方式

(一)定制404错误页面的基本原则

首先应明确的是,404错误应工作在服务器级而不是网页级。对定制使用动态页面如PHP脚本类型的404页时,必须确保在PHP执行前服务器已经顺利地送出“404”状态码,不然,一旦执行到了ISAPI级别,返回的状态码便只能是“200”或其他如“302”之类的重定向状态码了。

其次,在自定义网站的404错误页面时,对设置的错误页面URL链接应使用相对路径而不是绝对路径,而且自定义404页面应该放在网站根目录下。尽管无效链接可能是多种形式的URL,但当发生404访问错误时,WEB服务器会自动将其转到自定义的当404错误页中,这跟URL的形似没有关系。

(二)Apache下设置404错误页面

为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:

ErrorDocument 404 /notfound.php

注意:

1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失

2.切记不要使用绝对URL(例如: 形式),如果使用绝对URL返回的状态码是“302”+“200”(已测试)

(三)IIS/ASP.net下设置404错误页面

首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:

<configuration>

<system.web>

<customErrors mode=”On” defaultRedirect=”error.asp”>

<error statusCode=”404〃 redirect=”notfound.asp” />

</customErrors>

</system.web>

</configuration>

注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

<%

Response.Status = “404 Not Found”

%>

这样,便可以保证IIS能够正确地返回“404”状态码

(四)在IIS/ASP.net下设置404静态页面

设置静态404错误页面的方法则比较简单,在IIS管理器中右键单击要管理的网站,打开“属性”中的“自定义错误信息”页,为“404”设定相应的错误信息页即可

1、进入服务器的管理之后,打开“Internet 信息服务(IIS)管理器”,

2、双击信息服务(IIS)管理器,进入管理以后打开信息服务(IIS)管理器,选中要查看的网站,在网站栏目那里右键单击,选择“属性”,

3、在弹出的窗口里面,点击“网站”栏目,查看日志记录中的“属性”,

4、通过日志记录属性栏目,即可看到日志文件目录了,

上面的日志文件目录即是iis的文件存放位置了,IIS日志文件便在C:\WINDOWS\system32\LogFiles\文件夹内。

IIS日志文件存储格式是后缀名为log的文本文件,如下面这些文件就是网站的iis日志了。

要查看对应站点的IIS日志,只需要打开对应IIS日志文件夹找到相对应日志文件即可,也可借助IIS日志分析工具提供查看IIS日志的效率!

三、如何分析IIS日志?

知道了IIS日志的位置了,也看到了IIS日志的文件了,接下来我们就应该对日志文件进行分析了,那么,我们该如果分析IIS日志呢?

1、如何查看IIS日志信息

IIS日志可以用IIS日志分析工具去大概的去查一查,一般工具都能查出有各种蜘蛛来到网站的总数,以及有没有失败,不会把各种的信息都给你,工具分析只是简单的告诉你一个概况,马海祥在此就拿出一条信息来为大家具体的分析一下,如下面的截图所示:

我们可以分段对这个IIS日志进行分析:

2010-10-22 05:04:53 表示的是时间;

W3SVC151800 P-0YMR9WW8YX4U9是机器编号;

222.76.213.49为网站的IP;

GET是触发事件;

80是端口号;

61.135.186.49是搜索引擎蜘蛛的IP;

Baiduspider是百度的蜘蛛(另外,谷歌蜘蛛:Googlebot;360搜索蜘蛛:360Spider,更多的可查看马海祥博客《解读iis日志中搜索引擎蜘蛛名称代码及爬寻返回代码》的相关介绍);

200 0 0是访问成功的返回代码;

41786 193 6968是蜘蛛与网站对话的时间与下载的数据以及花了多少时间。

连在一起就是2010.10.22的早上5点4分53秒的时候一个编号为W3SVC151800 P-0YMR9WW8YX4U9的蜘蛛通过80端口进入网站成功访问并下载了47186B的数据,花费了193MS。

2、用excel表格分析网站的iis日志

先新建一个excel表格,把刚才的ex121129.log文件里的文件粘贴到新建的excel表格里面,,如下图所示:

复制之后,选定A,在工具栏里选择数据→分列,如下图所示:

选择分隔符号,点击下一步:

选择空格,去掉Tab键前面的钩,点击完成,如下图所示:

网站的iis日志就这样被拆分出来了,之后自己再调整一下表格的列宽、升降序等即可。

四、详解IIS日志参数

一般情况下,IIS日志文件代码格式如下所示:

#Software: Microsoft Internet Information Services 6.0

#Version: 1.0

#Date: 2009-11-26 06:14:21

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status

2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 123.125.66.130 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64

2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 220.181.7.116 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64

在此,马海祥也为大家详细的解说一下IIS日志参数:

date:发出请求时候的日期。

time:发出请求时候的时间,注意:默认情况下这个时间是格林威治时间,比我们的北京时间晚8个小时,下面有说明。

c-ip:客户端IP地址。

cs-username:用户名,访问服务器的已经过验证用户的名称,匿名用户用连接符-表示。

s-sitename:服务名,记录当记录事件运行于客户端上的Internet服务的名称和实例的编号。

s-computername:服务器的名称。

s-ip:服务器的IP地址。

s-port:为服务配置的服务器端口号。

cs-method:请求中使用的HTTP方法,GET/POST。

cs-uri-stem:URI资源,记录做为操作目标的统一资源标识符(URI),即访问的页面文件。

cs-uri-query:URI查询,记录客户尝试执行的查询,只有动态页面需要URI查询,如果有则记录,没有则以连接符-表示,即访问网址的附带参数。

sc-status:协议状态,记录HTTP状态代码,200表示成功,403表示没有权限,404表示找不到该页面,具体说明在下面。

sc-substatus:协议子状态,记录HTTP子状态代码。

sc-win32-status:Win32状态,记录Windows状态代码。

sc-bytes:服务器发送的字节数。

cs-bytes:服务器接受的字节数。

time-taken:记录操作所花费的时间,单位是毫秒。

cs-version:记录客户端使用的协议版本,HTTP或者FTP。

cs-host:记录主机头名称,没有的话以连接符-表示。马海祥提醒大家注意:为网站配置的主机名可能会以不同的方式出现在日志文件中,原因是HTTP.sys使用Punycode编码格式来记录主机名。

cs(User-Agent):用户代理,客户端浏览器、操作系统等情况。

cs(Cookie):记录发送或者接受的Cookies内容,没有的话则以连接符-表示。

cs(Referer):引用站点,即访问来源。

五、搜索引擎蜘蛛爬寻返回代码

HTTP协议状态码的含义,协议状态sc-status,是服务器日记扩展属性的一项,下面是各状态码含义:

"100" :Continue,客户必须继续发出请求。

"101" :witching Protocols,客户要求服务器根据请求转换HTTP协议版本。

"200" :OK,交易成功。

"201" :Created,提示知道新文件的URL。

"202" :Accepted,接受和处理、但处理未完成。

"203" :Non-Authoritative Information,返回信息不确定或不完整。

"204" :No Content,请求收到,但返回信息为空。

"205" :Reset Content,服务器完成了请求,用户代理必须复位当前已经浏览过的文件。

"206" :Partial Content,服务器已经完成了部分用户的GET请求。

"300" :Multiple Choices,请求的资源可在多处得到。

"301" :Moved Permanently,删除请求数据。

"302" :Found,在其他地址发现了请求数据。

"303" :See Other,建议客户访问其他URL或访问方式。

"304" :Not Modified,客户端已经执行了GET,但文件未变化。

"305" :Use Proxy,求的资源必须从服务器指定的地址得到。

"306" :前一版本HTTP中使用的代码,现行版本中不再使用。

"307" :Temporary Redirect,申明请求的资源临时性删除。

"400" :Bad Request,错误请求,如语法错误。

"401" :Unauthorized,请求授权失败。

"402" :Payment Required,保留有效ChargeTo头响应。

"403" :Forbidden,请求不答应(具体可查看马海祥博客《403 Forbidden错误的原因和解决方法》的相关介绍)。

"404" :Not Found,没有发现文件、查询或URl(具体可查看马海祥博客《404 Not Found错误页面的解决方法和注意事项》的相关介绍)。

"405" :Method Not Allowed,用户在Request-Line字段定义的方法不答应。

"406" :Not Acceptable,根据用户发送的Accept拖,请求资源不可访问。

"407" :Proxy Authentication Required,类似401,用户必须首先在代理服务器上得到授权。

"408" :Request Time-out,客户端没有在用户指定的饿时间内完成请求。

"409" :Conflict,对当前资源状态,请求不能完成。

"410" :Gone,服务器上不再有此资源且无进一步的参考地址。

"411" :Length Required,服务器拒绝用户定义的Content-Length属性请求。

"412" :Precondition Failed,一个或多个请求头字段在当前请求中错误。

"413" :Request Entity Too Large,请求的资源大于服务器答应的大小。

"414" :Request-URI Too Large,请求的资源URL长于服务器答应的长度。

"415" :Unsupported Media Type,请求资源不支持请求项目格式。

"416" :Requested range not satisfiable,请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段。

"417" :Expectation Failed,服务器不满足请求Expect头字段指定的期望值,假如是代理服务器。

"500" :Internal Server Error,服务器产生内部错误。

"501" :Not Implemented,服务器不支持请求的函数。

"502" :Bad Gateway,服务器暂时不可用,有时是为了防止发生系统过载。

"503" :Service Unavailable,服务器过载或暂停维修。

"504" :Gateway Time-out,关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长。

"505" :HTTP Version not supported,服务器不支持或拒绝支请求头中指定的HTTP版本。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/413490.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存