网站IIS日志的设置与搜索引擎爬虫痕迹的分析
一、IIS日志的设置。
第一个步骤:打开IIS服务器。选择所要设置的网站属性。弹出如下窗口:
选择“启用日志记录”,勾选,选择“W3C扩展日志文件格式”。
第二步骤:再次点击这里的“属性”按钮,常规选项里面,选择新日志计划为“每天”,当然也可以选择其他,选择好保存日志文件的目录。
很多SEO设置到这里,点击确定之后,发现IIS日志已经开始记录,但是无论如何都找不到搜索引擎爬虫的痕迹,类似于Baiduspider+怎么都看不到,其实,我们还应该做第三个辅助步骤,因为默认的IIS日志是不开启这个功能的。
第三个步骤:选择高级选项。勾选底下的用户代理(cs(User-Agent))等选项,我一般都将最下面的三个选项勾选起来。这样,你才可以看到百度等爬虫的名称。
第四个步骤:如果你全部按照上面设置之后,发现你的IIS日志还没开始记录,也就是本次困扰了我非常久的问题,那么最重要的一步就是检查相关的设置是否都完整。有的朋友说IIS日志不记录是因为系统服务WINDOWS time 没启动,或者系统的权限不正确等,比如没让IIS日志保存的那个文件夹有和IIS一样的权限之类,其实没有这么复杂,把下图的“记录访问”选项勾选即可。这样你的IIS日志就开始正常记录了。
二、如何分析网站IIS日志中的搜索引擎爬虫轨迹
首先,加入你要搜索百度的爬虫,那么就直接在保存记录的文本文档上搜索“Baiduspider”,我们节选以下一行来做详细的分析:
2009-04-09 13:02:40 W3SVC321 219.148.111.205 GET /index.html - 80 - 61.135.168.39 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64- - www.taobaoxs.com 这段IIS日志代码表示:在2009-04-09 13:02:40这个时间,百度搜索引擎的蜘蛛(ip地址为61.135.168.39,后面的http://www.baidu.com/search/spider.htm是关于Baiduspider+的相关问题)访问了服务器ip为219.148.111.205的网站www.taobaoxs.com,并且抓取了首页/index.html,该日志记录保存在 W3SVC321文件夹。
其中,两个地方值得说明:
一是代码中的200表示搜索引擎蜘蛛爬行后返回HTTP的状态代码,代表成功爬行并抓取。
各个数字代码的具体意思参见如下:
2xx 成功
200 正常;请求已完成。
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;无响应 — 已接收请求,但不存在要回送的信息。
3xx 重定向
301 已移动 — 请求的数据具有新的位置且更改是永久的。
302 已找到 — 请求的数据临时具有不同 URI。
303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 — 未按预期修改文档。
305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 — 不再使用;保留此代码以便将来使用。
4xx 客户机中出现的错误
400 错误请求 — 请求中有语法问题,或不能满足请求。
401 未授权 — 未授权客户机访问数据。
402 需要付款 — 表示计费系统已有效。
403 禁止 — 即使有授权也不需要访问。
404 找不到 — 服务器找不到给定的资源;文档不存在。
407 代理认证请求 — 客户机首先必须使用代理认证自身。
410 请求的网页不存在(永久);
415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。
5xx 服务器中出现的错误
500 内部错误 — 因为意外情况,服务器不能完成请求。
501 未执行 — 服务器不支持请求的工具。
502 错误网关 — 服务器接收到来自上游服务器的无效响应。
503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
二是各大搜索引擎爬虫(蜘蛛)的名称整理如下,大家可以对号入座:
1. Google爬虫名称
1) Googlebot:从Google的网站索引和新闻索引中抓取网页
2) Googlebot-Mobile针对Google的移动索引抓取网页
3) Googlebot-Image:针对Google的图片索引抓取网页
4) Mediapartners-Google:抓取网页确定 AdSense 的内容。只有在你的网站上展示 AdSense 广告的情况下,Google才会使用此漫游器来抓取您的网站。
5) Adsbot-Google:抓取网页来衡量 AdWords 目标网页的质量。只有在你使用 Google AdWords 为你的网站做广告的情况下,Google才会使用此漫游器。
2. 百度(Baidu)爬虫名称:Baiduspider
3. 雅虎(Yahoo)爬虫名称:Yahoo Slurp
4. 有道(Yodao)蜘蛛名称:YodaoBot
5. 搜狗(sogou)蜘蛛名称:sogou spider
6. MSN的蜘蛛名称:Msnbot
其他的搜索引擎我们使用得很少,就不需要理会了
IIS日志时间问题
- 打开“Internet 信息服务(IIS)管理器”,点击“Internet信息服务”、“本地计算机”、“网站”,在需要的网站上(如果要设置所有的网站,则直接在“网站”上)右击“属性”,打开网站属性。
- 在“网站”标签下找到“活动日志格式”,点击其后的“属性”,打开IIS日志属性
- 在IIS日志属性“常规”标签下,找到“文件命名和创建使用当地时间”,在其前打勾。
- 点击两次“确定”退出“Internet 信息服务(IIS)管理器”。
此时,IIS日志就已经是使用当地时间了。
--------------------------------
注意 根据以下技术分类,对于除 ODBC 日志记录外的所有日志格式,都将记录“所用时间”(毫秒):当 HTTP.sys(内核模式驱动程序)接收到第一个字节时(甚至在 HTTP.sys 开始分析请求之前),将初始化客户端请求的时间戳。当在 IIS 中完成发送(最后一次发送)时,客户端请求时间戳将停止。“所用时间”不反映通过网络的时间。还要注意,对站点的第一次请求需要的时间会比其他类似/相同的请求稍长一点,因为第一次请求时 HTTP.sys 要打开日志文件。
W3C 扩展日志记录定义
前缀 | 含义 |
---|---|
s- | 服务器操作。 |
c- | 客户端操作。 |
cs- | 客户端到服务器的操作。 |
sc- | 服务器到客户端的操作。 |
字段 | 格式 | 描述 |
---|---|---|
日期 | date | 活动发生的日期。 |
时间 | time | 活动发生的时间。 |
客户端 IP 地址 | c-ip | 访问服务器的客户端 IP 地址。 |
用户名 | cs-username | 访问服务器的已验证用户的名称。这不包括用连字符 (-) 表示的匿名用户。 |
服务名 | s-sitename | 客户端所访问的该站点的 Internet 服务和实例的号码。 |
服务器名 | s-computername | 生成日志项的服务器名称。 |
服务器 IP 地址 | s-ip | 生成日志项的服务器的 IP 地址。 |
服务器端口 | s-port | 客户端连接到的端口号。 |
方法 | cs-method | 客户端试图执行的操作(例如 GET 方法)。 |
URI 资源 | cs-uri-stem | 访问的资源;例如 Default.htm。 |
URI 查询 | cs-uri-query | 客户端正在尝试执行的查询(如果有)。 |
协议状态 | sc-status | 以 HTTP 或 FTP 术语表示的操作的状态。 |
Win32® 状态 | sc-win32-status | 用 Windows® 使用的术语表示的操作的状态。 |
发送的字节数 | sc-bytes | 服务器发送的字节数。 |
接收的字节数 | cs-bytes | 服务器接收的字节数。 |
所用时间 | time-taken | 操作花费的时间长短(亳秒)。 |
协议版本 | cs-version | 客户端使用的协议(HTTP,FTP)版本。对于 HTTP,这将是 HTTP 1.0 或 HTTP 1.1。 |
主机 | cs-host | 显示主机头的内容。 |
用户代理 | cs(User-Agent) | 在客户端使用的浏览器。 |
Cookie | cs(Cookie) | 发送或接收的 Cookie 的内容(如果有)。 |
引用站点 | cs(Referer) | 用户访问的前一个站点。此站点提供到当前站点的链接。 |
IIS 日志定义
字段 | 描述 |
---|---|
客户端 IP 地址 | 提出请求的客户机的 IP 地址。 |
用户名 | 访问服务器的已验证用户的名称。这不包括用连字符 (-) 表示的匿名用户。 |
日期 | 活动发生的日期。 |
时间 | 活动发生的时间。 |
服务和实例 | 网站实例显示为 W3SVC#;FTP 站点实例显示为 MSFTPSVC#,其中 # 是站点的实例。 |
计算机名 | 服务器的网络基本输入/输出系统 (NetBIOS) 名称。 |
服务器的 IP 地址 | 为请求提供服务的服务器的 IP 地址。 |
所用时间 | 操作花费的时间长短(亳秒)。 |
发送字节数 | 从客户端向服务器发送的字节数。 |
接收字节 | 客户端从服务器接收到的字节数。 |
服务状态码 | HTTP 或 FTP 状态码。 |
Windows 状态码 | 用 Windows 使用的术语表示的操作的状态。 |
请求类型 | 服务器收到的请求类型(例如 GET 和 PASS)。 |
操作目标 | 操作目标 URL。 |
参数 | 传递给脚本的参数。 |
NCSA 公用日志文件格式
字段 | 描述 |
---|---|
远程主机地址 | 提出请求的客户机的 IP 地址。 |
远程登录名称 | 该值始终是连字符 (-)。 |
用户名 | 对于通过身份验证的用户,格式是“域\用户名”;对于匿名用户,是一个连字符 (-)。 |
日期 | 活动发生的日期。 |
时间和 GMT 时差 | 发生活动的时间,后面跟的是格林威治标准时间时差。 |
请求和版本 | 使用的请求类型、目标 URL、传递给脚本的参数(如果有的话)以及客户端使用的 HTTP 版本。 |
服务器状态码 | HTTP 状态码。 |
发送字节数 | 从服务器向客户端发送的字节数。 |
| |
FM MONKEY RADIO |