LogParser 查询仅从 IIS 日志中获取外部 IP 地址?

Posted

技术标签:

【中文标题】LogParser 查询仅从 IIS 日志中获取外部 IP 地址?【英文标题】:LogParser query to grab only external IP addresses from IIS logs? 【发布时间】:2010-02-02 21:47:28 【问题描述】:

我在ServerFault 尝试过这个问题,但没有运气,所以我想我会在这里尝试。

我正在开发一个供外部访问者和内部员工使用的公共网站。我在跟踪外部访问者的点击,但我想不出过滤掉内部 IP 范围的好方法。

使用 LogParser,按 IP 范围过滤 IISW3C 日志的最佳方法是什么?

这就是我迄今为止想出的全部,这不可能是最好或最有效的方法。

WHERE [c-ip] NOT LIKE (10.10.%, 10.11.%)

感谢任何帮助。

【问题讨论】:

这些日志文件的结构非常好。您是否考虑过使用脚本来完成这项工作? 这只是一个一次性的工作。我在上面发布的查询确实有效,但这对我来说是一个好奇的问题。 :) 【参考方案1】:

唯一的其他选择是在 where 子句中使用 IPV4_TO_INT 和 Bitwise 函数。就我个人而言,我认为您现在拥有的内容将更具可读性和更易于维护。

【讨论】:

我查看了 IPV4_TO_INT 函数,但正如您所指出的,我认为可读性会受到很大影响。您知道该功能的性能如何吗?由于这是一次性查询,如果速度明显更快,我会使用它。如果不是更快,我怀疑我可以证明它是合理的。 不,我没有任何事实表明一种技术与另一种技术的性能。我怀疑两者之间的性能不同,因为 logparser 并没有真正使用 SQL 优化引擎。

以上是关于LogParser 查询仅从 IIS 日志中获取外部 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章

如何分析iis日志

使用 LogParser 导入IIS Log到SqlServer数据库中

IIS日志分析

日志分析工具 Log Parser

C# 作业中的 LogParser

分析IIS日志文件