the Asked: 2014-08-06 02:26:39 +0800 CST2014-08-06 02:26:39 +0800 CST 2014-08-06 02:26:39 +0800 CST 如何对我的 Apache 日志进行反向 DNS 查找? 772 Apache 内部关闭了反向 DNS 查找,现在我想查看日志中 IP 的来源。如何轻松地将旧 Apache 日志的 IP 转换为主机名? domain-name-system 2 个回答 Voted Best Answer HBruijn 2014-08-06T02:38:39+08:002014-08-06T02:38:39+08:00 Apache 默认带有logresolve;一个单独的后处理程序,用于解析 Apache 访问日志文件中的 IP 地址。 logresolve [ -s statistics-filename ] [ -c ] < access_log > access_log.new 通常,使用后处理比让 Apache 为每个请求执行反向 DNS 查找要高效得多。 grekasius 2014-08-06T02:39:17+08:002014-08-06T02:39:17+08:00 dig您可以使用以下命令执行反向 DNS 查找: dig +short -x <IP-ADDRESS> 您将获得具有指定 IP 地址的系统主机名,但是该主机名将取决于如何为域设置 PTR 记录。所以换句话说,你不应该期望得到任何特定的主机名。 至于 Apache 日志,正如HBrijn已经提到的,您可以使用logresolve或编写自己的脚本来扫描日志文件,提取 IP 地址,进行反向查找并将所有信息输出为所需的格式。您选择哪种解决方案取决于您要达到的目标。logresolve期望 IP 地址是每一行的第一件事,并与行的其余部分用空格隔开,这在您的日志文件中可能是也可能不是这种情况。
Apache 默认带有logresolve;一个单独的后处理程序,用于解析 Apache 访问日志文件中的 IP 地址。
通常,使用后处理比让 Apache 为每个请求执行反向 DNS 查找要高效得多。
dig
您可以使用以下命令执行反向 DNS 查找:您将获得具有指定 IP 地址的系统主机名,但是该主机名将取决于如何为域设置 PTR 记录。所以换句话说,你不应该期望得到任何特定的主机名。
至于 Apache 日志,正如HBrijn已经提到的,您可以使用
logresolve
或编写自己的脚本来扫描日志文件,提取 IP 地址,进行反向查找并将所有信息输出为所需的格式。您选择哪种解决方案取决于您要达到的目标。logresolve
期望 IP 地址是每一行的第一件事,并与行的其余部分用空格隔开,这在您的日志文件中可能是也可能不是这种情况。