有没有简单的方法可以将 http 服务器日志中的 IP 地址转换为 DNS 名称?我在 Google 上搜索过,但找不到任何相关信息。
更新:我发现了“logresolve”程序,它是 Apache 发行版的一部分。它正是我想要的。
答案1
虽然 Sascha 是对的,但如果你真的想要进行 rDNS 查找,只需连接(删除前导零)并反转 ip,然后在 reversedIP.in-addr.arpa 执行标准 DNS 查找
例如,查找074.125.140.026,将其连接并反转,以便执行 DNS 查找26.140.125.74.in-地址.arpa。
您将获得带有注册域名的 PTR 记录。
答案2
事实证明日志解析是 Apache 发行版的一部分,它完全满足了我的要求。像这样运行它:
$ logresolve < logfilewithIPs > newfilewithDNS
在我的日常日志上花了一段时间,但却能让我得到我正在寻找的信息。
Apache 服务器中还有一个选项可以在写入日志时自动执行此操作,但 1) 由于这是一个共享托管环境,我无法访问服务器设置,并且 2) 这会稍微减慢用户的速度。
答案3
没有简单的方法。事实上,没有可用的方法。一个 IP 可能用于多个 DNS 名称,这通常是共享主机的情况。此外,IP 可能是代理(公共或非公共)或通过诸如 tor 网络之类的东西路由的流量。
无论如何,即使您可以对某些 DNS 服务器进行反向查找,您所能得到的也只是一个误导性的统计数据,而这些数据可能是错误的,而不是真实的。