映射域名服务器ip列表使用任何一个名称服务器ip

时间:2011-11-16 10:39:43

标签: php ip reverse-engineering

我可以使用以下代码获取nameserver:

$result = exec("host -t NS google.com", $outputLines);
foreach ($outputLines as $outputLine)
{
    $buffer = explode(" ", $outputLine);
    $nsList[] = $buffer[3];
}
$ipList = array_map("gethostbyname", $nsList);
print_r($ipList);

现在$ipList拥有IP列表。有没有办法通过输入$ipList中的任何一个IP来获取所有这些IP。

就像反向过程一样,我希望通过输入$ipList变量中存在的任何一个IP来获取$ipList变量所拥有的所有IP。

2 个答案:

答案 0 :(得分:1)

如果我正确理解你在问什么,你希望能够在一组名称服务器(即NS1,NS2,NS3 ......)中找到名称服务器的所有IP地址给定一个名称服务器IP地址?

这不是......很容易实现,但是有可能做到这一点,尽管你必须长期解决问题才能做到这一点。您必须挂钩到外部服务以尝试获取驻留在IP地址上的名称服务器使用的DNS名称,然后尝试查找名称服务器正在使用的一组域,然后分析正在使用的名称服务器通过那些域名(交叉你的手指,你得到它们),然后基本上对你的现有脚本运行。

也许我错了,但我认为你可能正在接近任何问题,你错误的方式,我曾经在域管理工作,并会一直遇到这些问题,不幸的是它结束了很多DNS数据聚合和分析工作,以便轻松解决这类问题。

答案 1 :(得分:0)

因此,您希望能够找到数组中与特定IP地址匹配的所有值。这可以使用array_keys() (man page)及其可选的search_value参数来完成。

$ip_we_are_searching_for = '192.168.0.1';
$matching_keys = array_keys($ip, $ip_we_are_searching_for);
var_dump($matching_keys);
相关问题