在 iptables 中,我正在记录某些公共 IP 地址......比如说从不同工作站访问的网站,具体取决于目标端口号......所有这些都与问题无关,但我只是在这里陈述,以便我的目标变得清晰。
现在我想分析数据...我只有IP地址...获取域名的最佳方法是什么。好的,我知道您可以使用 nslookup 和 dig,但显示的域名可能是 DNS 数据中的 A 记录,通常不是您要查找的域名...
我对细节有点模糊......但我需要的是,例如,有人访问 cnbc.com,我查看记录的 ip 地址,并获得从亚马逊网络服务到 facebook.com 的各种域。记录 IP 的最近域是 nbcuni.com...
是否有一些“服务”、API、软件、第三方解决方案可用于获取给定 IP 的“最接近”的可识别域名?
编辑:还有另一个问题......监控系统似乎可以处理它们。代理系统(如下所示)无法区分指定的 URL 和访问页面中内容的 URL。或者他们可以吗?任何访问的 URL,明确地在浏览器中指定或间接地显示在页面中的任何内容的 URL 都将显示为访问的 URL。有没有办法区分?通过代理日志或其他方式?
我不确定我是否了解全部情况,但是由于您正在撰写有关网站的文章,因此我认为您使用的工具并不完全适合该任务。
恕我直言,您正在错误级别查找该信息(访问的域名):您应该有一个代理并分析其日志以收集该信息。
代理“靠近”客户,并拥有您正在寻找的准确和准确的信息。
透明代理将能够在不更改任何客户端配置的情况下收集这些信息。
仅使用 IP 地址日志,您无法轻松确定用户在浏览器的 URL 栏中键入了什么:您无法
104.16.13.13
通过键入aviation.stackexchange.com
或来判断访问者是否到达那里tex.stackexchange.com
(您可以确定的最好的是它是 CloudFlare IP 地址)。为了获得您寻求的信息,您需要在大约同一时间与您的 DNS 服务器上的查询进行交叉引用,或者捕获整个数据包并在协议数据(如 HTTP 请求)中查找公开主机名的内容. 后者是微不足道的:只需通过 https 或其他一些加密传输访问站点。
给定一个 IP 地址,您可以做的最好的事情是获取反向 DNS
PTR
记录(dig -x
或等效项),或 netblock 和 netblock 所有者信息(通过whois
),您已经拒绝,因为它们不符合您的需求。您在错误的层面解决了这个问题。从字面上看,当你应该使用第 7 层时,第 4 层。
不要在 iptables 中记录 TCP 连接。相反,捕获 HTTP 流量并检查客户端发出的请求中的 Host 标头。