如何通过PHP知道IP的域?

如何通过PHP知道IP的域?,php,get,dns,ip,Php,Get,Dns,Ip,如何通过PHP知道IP的域 我用过这个代码 <?php $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); echo $hostname; ?> 域名是earthwar.de,但正确答案是德语-proxy.de 请帮助。您的PHP是正确的,earthwar.de是正确的答案 eugen@lucidhome:~$ nslookup > set q=ptr > 62.75.138.253 Server: 1

如何通过PHP知道IP的域

我用过这个代码

<?php
  $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  echo $hostname;
?>
域名是earthwar.de,但正确答案是德语-proxy.de


请帮助。

您的PHP是正确的,earthwar.de是正确的答案

eugen@lucidhome:~$ nslookup
> set q=ptr
> 62.75.138.253
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
253.138.75.62.in-addr.arpa  name = earthwar.de.

Authoritative answers can be found from:
> 
当然,这并不意味着其他名称(如德语proxy.de)不指向同一地址,但无法找到所有名称

更新:

eugen@lucidhome:~$ nslookup 
> set q=a
> german-proxy.de.     
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
Name:   german-proxy.de
Address: 62.75.138.253
> earthwar.de.
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
Name:   earthwar.de
Address: 91.143.85.129
> 

这是一个很好的例子。事实是:你对此无能为力,伙计

您的PHP是正确的,earthwar.de是正确的答案

eugen@lucidhome:~$ nslookup
> set q=ptr
> 62.75.138.253
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
253.138.75.62.in-addr.arpa  name = earthwar.de.

Authoritative answers can be found from:
> 
当然,这并不意味着其他名称(如德语proxy.de)不指向同一地址,但无法找到所有名称

更新:

eugen@lucidhome:~$ nslookup 
> set q=a
> german-proxy.de.     
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
Name:   german-proxy.de
Address: 62.75.138.253
> earthwar.de.
Server:     192.168.232.1
Address:    192.168.232.1#53

Non-authoritative answer:
Name:   earthwar.de
Address: 91.143.85.129
> 

这是一个很好的例子。事实是:你对此无能为力,伙计

可以有许多名称->IP映射,但只有一个IP->名称映射。在执行主机->ip->主机查找时,使用完全不同的主机名并不罕见。您无法确定用户指定的主机名,除非他们使用的协议将该主机名与请求一起传输,例如http 1.1。大多数协议完全脱离IP地址工作,不需要/不关心主机名。

可以有许多名称->IP映射,但只有一个IP->名称映射。在执行主机->ip->主机查找时,使用完全不同的主机名并不罕见。您无法确定用户指定的主机名,除非他们使用的协议将该主机名与请求一起传输,例如http 1.1。大多数协议的工作完全依赖于IP地址,不需要/不关心主机名。

单个IP地址可能承载无限数量的域。由
gethostbyaddr
返回的域将提供该IP的PTR DNS记录中的域名。反向DNS记录(PTR)将IP地址映射到一个或多个域名

其中一家提供IP地址域智能的公司是domaintools.com。你可以为他们获取的信息付费。如果域名不在PTR记录中,那么您知道IP地址上有哪些域的唯一方法是尝试将域名解析为其IP地址并保留记录。阿菲克,别无选择

看到和


域工具上的反向IP查找的数据都基于它们的挖掘、收集和研究。

单个IP地址可能承载无限数量的域。由
gethostbyaddr
返回的域将提供该IP的PTR DNS记录中的域名。反向DNS记录(PTR)将IP地址映射到一个或多个域名

其中一家提供IP地址域智能的公司是domaintools.com。你可以为他们获取的信息付费。如果域名不在PTR记录中,那么您知道IP地址上有哪些域的唯一方法是尝试将域名解析为其IP地址并保留记录。阿菲克,别无选择

看到和


域工具上反向IP查找的数据都基于它们的挖掘、收集和研究。

您不能信任通过gethostbyaddr返回的名称。具有特定IP地址权限的DNS服务器可以返回任何主机名

通常,管理员会将DNS服务器设置为使用正确的主机名进行回复,但恶意用户可能会将其DNS服务器配置为使用错误的主机名进行回复。当对从gethostbyaddr返回的主机名调用gethostbyname并确保名称解析为原始IP地址时,可以避免落入该陷阱

但还有更多。。。有时一个主机名可以映射到多个IP地址

var_dump(gethostbynamel('google.com')); 
返回

array(6) {
   [0]=>
        string(14) "173.194.69.104"
   [1]=>
        string(14) "173.194.69.147"
   [2]=>
        string(14) "173.194.69.105"
   [3]=>
        string(14) "173.194.69.106"
   [4]=>
        string(14) "173.194.69.103"
   [5]=>
        string(13) "173.194.69.99"
}

总之,您需要了解DNS挖掘和反向DNS查找。这是一条很长的路要走,但是当我说这是一条有趣的路时,你可以相信我。

你不能相信gethostbyaddr返回的名字。具有特定IP地址权限的DNS服务器可以返回任何主机名

通常,管理员会将DNS服务器设置为使用正确的主机名进行回复,但恶意用户可能会将其DNS服务器配置为使用错误的主机名进行回复。当对从gethostbyaddr返回的主机名调用gethostbyname并确保名称解析为原始IP地址时,可以避免落入该陷阱

但还有更多。。。有时一个主机名可以映射到多个IP地址

var_dump(gethostbynamel('google.com')); 
返回

array(6) {
   [0]=>
        string(14) "173.194.69.104"
   [1]=>
        string(14) "173.194.69.147"
   [2]=>
        string(14) "173.194.69.105"
   [3]=>
        string(14) "173.194.69.106"
   [4]=>
        string(14) "173.194.69.103"
   [5]=>
        string(13) "173.194.69.99"
}

总之,您需要了解DNS挖掘和反向DNS查找。这是一条漫长的路要走,但我说这是一条有趣的路,你可以相信我。

62.75.138.253决定加入earthwar.de。但是,德语-proxy.de指向62.75.138.253,但这并不意味着它是正确的主机名。许多域可以指向一个IP;但是IP只能解析为一个主机名。例如,至少有3个域名指向IP.62.75.138.253解析为earthwar.de。但是,德语-proxy.de指向62.75.138.253,但这并不意味着它是正确的主机名。许多域可以指向一个IP;但是IP只能解析为一个主机名。例如,至少有3个域名指向该IP。
ping
表示不是这样。。。german-proxy.de解析为62.75.138.253,earthwar.de的地址为91.143.85.129。ping将名称转换为IP地址,但您希望将IP地址转换为名称。这两个过程完全不同,可能会产生不同(且相互冲突)的数据。非常感谢Eugen Rieck
ping
的说法。。。german-proxy.de解析为62.75.138.253,earthwar.de解析为91.143.85.129,从我所在的位置。ping将名称转换为IP地址,但您希望转换IP地址