PHP Classes

File: vendor/react/dns/examples/13-reverse-dns.php

Recommend this page to a friend!
  Classes of Hillary Kollan   Chatto PHP Websocket Chat System   vendor/react/dns/examples/13-reverse-dns.php   Download  
File: vendor/react/dns/examples/13-reverse-dns.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Chatto PHP Websocket Chat System
Websocket based chat system using Ratchet library
Author: By
Last change:
Date: 3 years ago
Size: 909 bytes
 

Contents

Class file image Download
<?php

use React\Dns\Config\Config;
use
React\Dns\Resolver\Factory;
use
React\Dns\Model\Message;

require
__DIR__ . '/../vendor/autoload.php';

$loop = React\EventLoop\Factory::create();

$config = Config::loadSystemConfigBlocking();
$server = $config->nameservers ? reset($config->nameservers) : '8.8.8.8';

$factory = new Factory();
$resolver = $factory->create($server, $loop);

$ip = isset($argv[1]) ? $argv[1] : '8.8.8.8';

if (@
inet_pton($ip) === false) {
    exit(
'Error: Given argument is not a valid IP' . PHP_EOL);
}

if (
strpos($ip, ':') === false) {
   
$name = inet_ntop(strrev(inet_pton($ip))) . '.in-addr.arpa';
} else {
   
$name = wordwrap(strrev(bin2hex(inet_pton($ip))), 1, '.', true) . '.ip6.arpa';
}

$resolver->resolveAll($name, Message::TYPE_PTR)->then(function (array $names) {
   
var_dump($names);
}, function (
Exception $e) {
    echo
$e->getMessage() . PHP_EOL;
});

$loop->run();