Script Full DNS Lookup

Pagi ini kebetulan lagi semangat untuk sharing beberapa script. Karena mengingat bermain dengan script seperti bash masih sangat menyenangkan hingga detik ini. Script ini ditujukan buat kamu yang ingin melakukan pengecekan sebuah domain seperti dimana servernya, dimana webnya, SPF nya seperti apa, dsb.

Disclaimer

Script ini disediakan secara gratis dan tidak di monopoli maupun di monetize dalam bentuk apapun. Bebas untuk dipakai, diambil, di edit, namun mohon sertakan sumber ya 🙂

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DNS Lookup</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-5">
        <h1 class="mb-4">DNS Lookup</h1>
        <form method="GET" action="">
            <div class="form-group">
                <label for="hostname">Hostname:</label>
                <input type="text" id="hostname" name="hostname" class="form-control" placeholder="Enter hostname">
            </div>
            <button type="submit" class="btn btn-primary">Lookup</button>
        </form>

        <?php
        function getDnsRecord($type, $hostname) {
            $result = dns_get_record($hostname, constant("DNS_$type"));
            return $result ? $result[0]['ip'] ?? $result[0]['target'] ?? $result[0]['txt'] ?? 'N/A' : 'N/A';
        }

        function getHostByIp($ip) {
            $output = shell_exec("host $ip");
            preg_match('/domain name pointer (.+)\.$/', $output, $matches);
            return $matches[1] ?? 'N/A';
        }

        $hostname = $_GET['hostname'] ?? '';
        if ($hostname) {
            echo '<div class="mt-4">';
            echo "<h3>Result lookup for <span class='text-success'>$hostname</span></h3>";
            $ip = getDnsRecord('A', $hostname);
            $host = $ip !== 'N/A' ? getHostByIp($ip) : 'N/A';
            echo "<p><strong>Host:</strong> <span class='text-info'>$host</span></p>";
            echo "<p><strong>A record:</strong> <span class='text-info'>$ip</span></p>";
            echo "<p><strong>CNAME record:</strong> <span class='text-info'>" . getDnsRecord('CNAME', $hostname) . "</span></p>";
            echo "<p><strong>WEBMAIL record:</strong> <span class='text-info'>" . getDnsRecord('A', "webmail.$hostname") . "</span></p>";
            echo "<p><strong>SMTP record:</strong> <span class='text-info'>" . getDnsRecord('A', "smtp.$hostname") . "</span></p>";
            echo "<p><strong>MAIL record:</strong> <span class='text-info'>" . getDnsRecord('A', "mail.$hostname") . "</span></p>";
            echo "<p><strong>MX record:</strong> <span class='text-info'>" . getDnsRecord('MX', $hostname) . "</span></p>";
            echo "<p><strong>SPF record:</strong> <span class='text-info'>" . getDnsRecord('TXT', $hostname) . "</span></p>";
            echo "<p><strong>DMARC record:</strong> <span class='text-info'>" . getDnsRecord('TXT', "_dmarc.$hostname") . "</span></p>";
            echo "<p><strong>NS records:</strong> <span class='text-info'>" . getDnsRecord('NS', $hostname) . "</span></p>";
            echo '</div>';
        } else {
            echo '<p class="text-danger mt-4">Please provide a hostname to lookup.</p>';
        }
        ?>
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>

Semoga bisa membantu kalian. Saya rekomendasikan script ini digunakan untuk pengecekan staff yang bekerja sebagai IT khususnya di jasa penyedia web atau server sih. Script ini sudah saya simpan di repository full dns lookup.

Leave a Reply

Your email address will not be published. Required fields are marked *