【问题标题】:Is it possible to display the DNS of a computer using PHP是否可以使用 PHP 显示计算机的 DNS
【发布时间】:2012-05-14 12:29:41
【问题描述】:

好的,我正在研究是否可以使用 PHP 获取计算机的 DNS。我知道 PHP 允许获取网站或服务器的 DNS 信息,但可以使用 $_SERVER['REMOTE_ADDR'] 和其他 PHP 函数以某种方式交叉引用计算机 DNS。

【问题讨论】:

  • 您的意思是获取运行脚本的机器的 IP 地址?本地机器的主机名?
  • 我需要以某种方式从用户计算机而不是服务器获取 DNS 设置。
  • 什么 dns 设置?您想知道用户使用哪些 dns 服务器来解析查找?或者你的意思是用户所在机器的主机名?无论你在做什么,它都不是“dns 设置”。
  • 不,您无法远程确定。这类信息不会在标准 HTTP 请求上传输。您可能可以使用 ActiveX 控件或高权限 Java 小程序来解决问题,但是如果没有非标准方法,您将无法自动解决这个问题。
  • @MarcB:这并不完全正确; AIUI,DNSChanger 将计算机的解析器更改为已由执法机构操作一段时间的服务器。假设这些解析器不通过其他转发器执行它们的查找,可以配置一个拆分 DNS 范围,以响应与来自其他地方的查询不同的主机名地址的解析器,然后假设到达该地址的访问者可能已被感染;更好的是,如果可以控制用户的 Internet 连接,则可以拦截对此类服务器的 DNS 查询...

标签: php dns


【解决方案1】:

您可以为此使用gethostbyaddr

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

但是,我必须警告您$_SERVER['REMOTE_ADDR'] 可以有几种形式;这里有几篇文章讨论了这个值:

【讨论】:

    【解决方案2】:

    "" 是否可以使用 PHP 显示计算机的 DNS? ""

    首先我不相信你搜索,如果你的客户端IP有一个域名分配给它,如果是这样,上面的答案,或者像'whois'这样的shell命令可以帮助你。

    我相信,您试图找出客户的“域名服务器”。为此,您需要在客户端计算机上运行一些命令或脚本。

    PHP,是一种服务器端脚本语言。 您必须创建一个包含 java、javascript 的页面,当然, 拥有你需要的权限,做你认为你能做的事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 2022-06-16
      • 1970-01-01
      • 2012-02-28
      • 2011-05-09
      相关资源
      最近更新 更多