gurkanbicer / advanced-dns

此包已被放弃,不再维护。未建议替代包。
此包最新版本(0.2.3)没有可用的许可信息。

它使用dig命令收集DNS结果。

安装: 48

依赖: 0

建议者: 0

安全性: 0

星标: 5

关注者: 3

分支: 1

开放问题: 0

类型:项目

0.2.3 2020-12-26 14:18 UTC

This package is auto-updated.

Last update: 2024-09-10 19:02:20 UTC


README

它使用dig命令收集DNS结果。

支持的DNS查询类型

  • A
  • AAAA
  • CNAME
  • MX
  • NS
  • SOA
  • TXT

安装

composer require gurkanbicer/advanced-dns
require 'vendor/autoload.php';
use \Gurkanbicer\AdvancedDns\AdvancedDns;

示例

示例 1

$domain = new AdvancedDns('getdns.sh');
$result = $domain->lookup('NS', '8.8.8.8');
var_dump($result);

输出

array(4) {
  ["type"]=>
  string(2) "NS"
  ["status"]=>
  string(7) "NOERROR"
  ["nameserver"]=>
  string(7) "8.8.8.8"
  ["response"]=>
  array(2) {
    ["amit.ns.cloudflare.com"]=>
    array(2) {
      ["ttl"]=>
      int(21599)
      ["data"]=>
      array(1) {
        [0]=>
        string(13) "173.245.59.63"
      }
    }
    ["april.ns.cloudflare.com"]=>
    array(2) {
      ["ttl"]=>
      int(21599)
      ["data"]=>
      array(1) {
        [0]=>
        string(13) "173.245.58.66"
      }
    }
  }
}

示例 2

$domain = new AdvancedDns('getdns.sh');
$result = $domain->authorityNameserverLookup();
var_dump($result);

输出

array(4) {
  ["type"]=>
  string(8) "DOMAINNS"
  ["response"]=>
  array(2) {
    ["amit.ns.cloudflare.com"]=>
    array(2) {
      ["ttl"]=>
      int(86400)
      ["data"]=>
      array(1) {
        [0]=>
        string(13) "173.245.59.63"
      }
    }
    ["april.ns.cloudflare.com"]=>
    array(2) {
      ["ttl"]=>
      int(86400)
      ["data"]=>
      array(1) {
        [0]=>
        string(13) "173.245.58.66"
      }
    }
  }
  ["status"]=>
  string(7) "NOERROR"
  ["nameserver"]=>
  string(9) "a2.nic.sh"
}

错误处理

// if there is no error
if ($result !== false && $result['status'] == 'NOERROR') {
    var_dump($result);
} 

如果查询的主机没有响应

array(4) {
  ["type"]=>
  string(4) "AAAA"
  ["status"]=>
  string(7) "NOERROR"
  ["nameserver"]=>
  string(7) "8.8.8.8"
  ["response"]=>
  array(0) {
  }
}

如果出现问题或查询类型不在列表中,输出将如下所示

bool(false)