gurkanbicer/advanced-dns

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (0.2.3) of this package.

It collects DNS results using dig command.

0.2.3 2020-12-26 14:18 UTC

This package is auto-updated.

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


README

It collects DNS results using dig command.

Supported DNS Query Types

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

Installation

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

Samples

Sample 1:

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

Output:

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"
      }
    }
  }
}

Sample 2:

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

Output:

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"
}

Error Handling

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

If there is no response that your queried host:

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

If somethings goes bad or if has not in the list that your query type, output will be like:

bool(false)