我想找到特定主机的所有IP,例如yahoo.com或facebook.com我知道他们有多个IP。什么是最好的方式?
答案 0 :(得分: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
)
)
答案 1 :(得分:0)
您可以做的只是查找A和AAAA记录。我假设你想用Linux做这个,因为那是标签之一。为此,您可以运行dig yahoo.com
之类的命令。有关详细信息,请查看man dig
。如果您没有安装dig
,则可以使用软件包管理器进行安装。
对于PHP,请查看dns_get_record()
函数。
请注意,有时候,大公司会为多台计算机使用相同的IP。
答案 2 :(得分:0)
你应该尝试挖掘,这是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
...