我想查找特定主机的所有 IP,例如 yahoo.com 或 facebook.com 我知道他们有多个 IP。什么是最好的方法?
问问题
405 次
3 回答
1
我认为您在 PHP 中寻找的是dns_get_record
. 它将获取实际的 DNS 记录,其中可以包括多个 IP 地址(A
记录)。请注意,由于基于 DNS 的负载平衡解决方案,这可能并不总是为您提供所有IP。
来自 PHP.net 的示例:
<?php
$result = dns_get_record("php.net");
print_r($result);
?>
输出:
Array
(
[0] => Array
(
[host] => php.net
[type] => MX
[pri] => 5
[target] => pair2.php.net
[class] => IN
[ttl] => 6765
)
[1] => Array
(
[host] => php.net
[type] => A
[ip] => 64.246.30.37
[class] => IN
[ttl] => 8125
)
)
于 2012-12-08T20:44:30.890 回答
0
您可以做的只是查找 A 和 AAAA 记录。我假设你想用 Linux 来做这件事,因为那是标签之一。为此,您可以运行类似dig yahoo.com
. 有关更多详细信息,请查看man dig
。如果还没有dig
安装,可以用包管理器安装。
对于 PHP,请查看该dns_get_record()
函数。
请注意,有时,大公司对多台机器使用相同的 IP。
于 2012-12-08T20:41:42.850 回答
0
您应该尝试dig,这是BIND套装的一部分。它是探索域名系统的绝佳工具。
绑定到特定域的 IP 地址列在 ANSWER SECTION 下。此外,您还会获得相关 DNS 服务器及其地址的列表。
例子:
$ dig yahoo.com
...
;; QUESTION SECTION:
;yahoo.com. IN A
;; ANSWER SECTION:
yahoo.com. 2131 IN A 98.138.253.109
yahoo.com. 2131 IN A 98.139.183.24
yahoo.com. 2131 IN A 72.30.38.140
;; AUTHORITY SECTION:
yahoo.com. 65928 IN NS ns4.yahoo.com.
...
ns4.yahoo.com. 65928 IN A 68.142.196.63
...
于 2012-12-08T21:36:35.793 回答