出于分析的目的,我正在查看服务器日志文件中的大量IP地址。我试图执行反向DNS查询,以了解流量来自哪里-例如,I解决公司,学校,政府,国际等的百分比。
尽管有一堆优化,但每个IP地址单独反向DNS似乎仍然相当昂贵.所以-
获得整个范围的IPs?
如果是的话,这将大大减少实际的反向DNS查找的数量。
示例(略有混淆的数字):
128.151.162.17的请求。11.142.152.128.in-addr.arpa 21599 IN PTR alamo.ceas.rochester.edu128.151.162.*的IP都将解析为rochester.edu?128.151.*.*呢?有办法得到确切的IP范围吗?发布于 2014-06-10 15:15:31
有没有办法从反向域名系统中获得完整的IP?
不太可能;在非常罕见的情况下,您可能可以执行DNS区域传输查询来获取区域中的所有记录(通常是整个/24 ),但是您正在查询的名称服务器响应此请求的可能性很小。期望每个地址查询一个反向DNS (对不起!)。
现在,是否可以安全地假设至少所有来自128.151.162.*的IP也将解决rochester.edu问题?
一般来说,作为一所大学,他们很可能拥有整个/24。然而,这并不是一个适用于一般情况的好规则;一所规模较小的学校可能没有一个完整的/24,或者在反向DNS中没有它。
反向DNS本身将是相当命中-或错过-在许多情况下,它将只是产生的名字,在ISP的主机名或根本没有记录。为了获得更好的数据,我们会让事情变得更加昂贵--你也应该看看来自whois的数据。
例如,这是罗切斯特IP的信息 -它显示了分配的大小(整个/16范围,因此在本例中适用于128.151.*.*)和分配给它的组织。
whois信息应该为你想要的信息提供一个很好的真实来源,并且能够看到适用范围的好处。缺点是,对于较小的分配,范围通常只显示为属于ISP,而不是最终客户。将whois和反向DNS结合起来应该提供最好的信息(而且速度慢得可笑)。
发布于 2014-06-10 15:55:29
您通常可以从on获得有关网卡的信息(例如whois 128.151.162.17指CIDR: 128.151.0.0/16),但您可能会发现,您得到的响应的格式会有所不同,这取决于所涉及的注册中心,还可能会限制您可以发出的请求的数量。还请注意,网卡通常与较大的网卡内较小的网卡嵌套在一起,因此你可能会得到一个IP的多个网卡的信息。
DNS请求包可以包含多个请求,如果需要解决大量请求,这可能会加快速度,但您需要的主要技术是并行请求和缓存响应。
发布于 2014-06-13 14:37:23
关于这种算法的一般建议:
通常,您会发现数据几乎是无限缓存的。数据很少发生变化,所以您最好批量进行,并将数据保存到所有代码使用的磁盘上缓存中。数据上的TTL可能是1小时,但当我参与互联网地图项目时,我们发现只要域发生变化,数据就会稳定一年多。
如果您正在执行大量DNS查询,请限制发送到任何特定DNS服务器的数量。否则,它充其量是粗鲁的,在最坏的情况下是DoS攻击。
如果您正在进行“按需”查找,只需使用某种类型的写入缓存即可。
https://serverfault.com/questions/604104
复制相似问题