Answers:
不是,不是 这全部与正向和反向DNS查找之间的区别有关。
正向查找是标准名称-> IP查找。因此,您必须事先知道所有名称。
您想要执行IP->名称查找,但是以某种方式获得您在Apache配置和DNS中应用的所有名称作为A记录(或CNAMES或其他名称)。
您可能会发现,进行反向查找(例如dig @nameserver $ ip -x)将返回拥有该netblock的人(可能是您的ISP)为该IP提供的主机名。它的名称可能像45-23-45-231.big-isp.com,对您来说并不意味着很多。至关重要的是,只有一个反向记录,但可能有多个反向记录。
我想它可以归结为一个问题-反向区域如何知道正向区域中的任何记录?在大多数设置中,客户可以使用正向区域进行更改,但是反向区域由netblock的所有者维护。这两个系统不需要彼此了解任何功能。
使用DNS协议本身是不可能的,因为通常PTR
每个IP地址只有一个记录,即使可能有许多A
记录指向该IP地址。
但是,某些公司(例如http://www.ip-adress.com/)通过存储整个DNS查找负载的结果,然后提供反向查询到自己的数据库,从而设法编译了包含您所要查找内容的数据库数据库。
但是,这些数据库不能确定,它们不能保证知道可能指向该IP的每个可能的域-它们只能记录其实际查找的域名的DNS详细信息。
我认为您是从错误的方向来的。除了a)为每个可能的域名查询存在的每个DNS服务器,然后存储结果,或者b)从您感兴趣的DNS服务器获取区域传输之外,DNS无法做到这一点。
好吧,如果您正在运行基于Apache名称的虚拟主机,则已经有一个将到达您的服务器的域列表。除了默认虚拟主机之外,基于名称的虚拟主机只会回答其名称。因此,如果我将foobar.com指向我的盒子,并且没有foobar.com虚拟主机,则默认情况下将为它提供服务,否则将不会得到答复(如果您没有默认服务器)。
Apache具有一些非常强大的日志记录功能。使用所需的请求行定义自定义日志格式应该不是问题。此外,总会有引荐来源网址字段。
另一方面,邮件有点麻烦。我能想到的最好的事情是从服务器日志中选择可以使用的内容,并且,如果您真的需要知道,请设置SMTP的数据包捕获。
LogFormat %{Host}i hostnamelog
,然后CustomLog /path/to/log hostnamelog
在您的默认虚拟主机中,确保它与您的任何“真实”虚拟主机分开。然后偶尔sort /path/to/log | uniq -c | sort -n
了解正在遭受打击的事物。