使用 LogParser 2.2 检查 IIS 6.0 日志中的 FTP 登录信息

使用 LogParser 2.2 检查 IIS 6.0 日志中的 FTP 登录信息

我一直在使用奋斗人生网站上有他的 IIS FTP LogParser 2.2 查询。我唯一的问题是我似乎无法将两个查询结合起来,从而返回成功登录和他们的帐户名。有人能帮忙吗?

  • 这将返回已登录的用户

    logparser“从 ex*.log 中选择 cs-uri-stem、count(cs-method),其中 cs-method 类似于‘%USER’,按 cs-uri-stem 分组,按 count(cs-method)、cs-uri-stem 排序”

  • 这将返回所有通过 IP 成功登录的信息

    logparser“从 ex*.log 中选择 c-ip、count(sc-status),其中 sc-status = '230',按 c-ip 分组,按 count(sc-status)、c-ip 排序”

正如我所说,我希望两全其美。提前谢谢!

答案1

好的。

因此,让我们根据我们想要的数据和正在查看的数据,将其分解成更小的部分。

这为我们提供了以下内容作为基础:

logparser "select cs-uri-stem, cs-method, c-ip from \\192.168.1.104\wwwroot\ex*.log"

根据我们的条件,我们有以下内容:

logparser "select cs-uri-stem, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where cs-method like '%USER'"

logparser "select cs-uri-stem, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230'"

现在,如果你这样做,你就会发现问题;像 '%USER' 这样的 cs-method 返回 sc-status 331,所以如果我们尝试将它们结合起来,那是行不通的。

状态代码 230 是‘用户已登录,继续’ -http://support.microsoft.com/kb/318380- 而 331 只是表示用户名可以。

因此,让我们回顾一下,实际查看用户登录时的日志。由于已经过身份验证,因此 cs-username 将填充他们正在使用的帐户的名称。

logparser "select cs-username, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230'"

这意味着这就是我们想要的:

logparser "select cs-username, c-ip, count(*) from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230' group by cs-username, c-ip order by count(*), cs-username, c-ip"

根据文件扫描结果 -http://media.jamesrskemp.com/articles/IIS6FTPSample.log.txt- 看起来是正确的。

这有帮助吗?


再次查看我的帖子,发现忽略的关键部分是,第一个部分有助于“确定使用哪些用户名登录,或尝试登录,到 FTP 站点。”如果您在上面的示例日志中搜索 FTPUser3,您会看到 IIS 返回 331,即使我没有创建 FTPUser3 帐户。似乎出于安全目的,IIS 6 FTP 似乎无论如何都会返回 331。

相关内容