IIS日志包含了哪些信息,如何来进行分析呢。
用户每打开一次网页,iis 都会记录用户IP、访问的网页地址、访问时间、访问状态等信息,这些信息保存在 iis日志文件里,方便网站管理员掌握网页被访问情况和 iis 服务器运行情况。如果网页被恶意访问(如注入数据库),日志中会有相应的记录,并且能看到注入者用什么代码注入,便于分析网站漏洞。
IIS日志提供了最有价值的信息,这些信息有哪些呢?看看这个截图吧:
这里面记录了:
1. 请求发生在什么时刻,
2. 哪个客户端IP访问了服务端IP的哪个端口,
3. 客户端工具是什么类型,什么版本,
4. 请求的URL以及查询字符串参数是什么,
5. 请求的方式是GET还是POST,
6. 请求的处理结果是什么样的:HTTP状态码,以及操作系统底层的状态码,
7. 请求过程中,客户端上传了多少数据,服务端发送了多少数据,
8. 请求总共占用服务器多长时间、等等。
这些信息在分析时有什么用途,我后面再说。先对它有个印象就可以了。
IIS日志的配置
默认情况下,IIS会产生日志文件,不过,还是有些参数值得我们关注。 IIS的设置界面如下(本文以 IIS 8 的界面为例)。
在IIS管理器中,选择某个网站,双击【日志】图标,请参考下图:
选择“开始”菜单 → 管理工具 → Internet 信息服务(IIS)管理器,打开 iis 服务器窗口,依次展开选中要查看日志的网站,Windows Server 2008 R2 系统双击“日志”图标。
此时(主要部分)界面如下:
在截图中,日志的创建方式是每天产生一个新文件,按日期来生成文件名(这是默认值)。说明:IIS使用UTC时间,所以我勾选了最下面的复选框,告诉IIS用本地时间来生成文件名。
点击【选择字段】按钮,将出现以下对话框:
注意:【发送的字段数】和【接收的字节数】默认是没有选择的。建议勾选它们。
至于其它字段,你可以根据需要来决定是否要勾选它们。
在主日志目录下,发现子目录名字比较有规律:W3SVC + 数字,联想到iis的站点配置文件中,每个站点会被分配一个ID,后边的数字应该是对应站点的ID。根据猜想,打开目录中的日志文件查看,得到印证。