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版本。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)