1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>DNS Lookup - Test DNS Configuration with Online Query</title> 7 <meta name="description" content="Free online DNS lookup tool. Query DNS records for any domain including A, AAAA, MX, NS, TXT, and more."> 8 <link rel="icon" type="image/svg+xml" href="/static/favicon.svg"> 9 10 <link rel="canonical" href="https://traceroute-online.com/check-dns-records/"> 11 12 <!-- Fonts --> 13 <link rel="preconnect" href="https://fonts.googleapis.com"> 14 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 15 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"> 16 17 <!-- Leaflet CSS --> 18 <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""> 19 20 <!-- Custom CSS --> 21 <link rel="stylesheet" href="/static/css/style.css?v=20260908-1"> 22 23 24</head> 25<body> 26 <a class="skip-link" href="#main-content">Skip to content</a> 27 <!-- Animated background grid --> 28 <div class="bg-grid"></div> 29 30 <!-- Navigation --> 31 <nav class="navbar" aria-label="Main navigation"> 32 <div class="navbar-content"> 33 <a href="/" class="navbar-brand"> 34 <span class="brand-icon" aria-hidden="true"> 35 <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 36 <circle cx="5" cy="5" r="2.1"/> 37 <circle cx="19" cy="12" r="2.1"/> 38 <circle cx="6" cy="19" r="2.1"/> 39 <path d="M6.8 6 17 10.8"/> 40 <path d="M17.1 13.5 7.6 17.8"/> 41 </svg> 42 </span> 43 <span class="brand-text">traceroute-online<span class="brand-tld">.com</span></span> 44 </a> 45 46 <ul class="navbar-nav"> 47 <li><a href="/" class="nav-link" data-page="index">Traceroute</a></li> 48 <li><a href="/check-dns-records/" class="nav-link" data-page="dns">DNS Lookup</a></li> 49 <li><a href="/ip-asn-lookup/" class="nav-link" data-page="asn">ASN Lookup</a></li> 50 <li><a href="/mtr/" class="nav-link" data-page="mtr">MTR</a></li> 51 <li><a href="/internet-maps-stats/" class="nav-link" data-page="stats">Internet Stats</a></li> 52 </ul> 53 </div> 54 </nav> 55 56 <!-- Main Content --> 57 58<main class="main-container" id="main-content"> 59 <!-- Left Panel - Form and Results --> 60 <section class="panel"> 61 <div class="panel-header"> 62 <h1 class="panel-title"> 63 <span class="panel-title-icon">â</span> 64 DNS Lookup 65 </h1> 66 <span class="panel-badge" id="status-badge">Ready</span> 67 </div> 68 <div class="panel-body"> 69 <!-- DNS Form --> 70 <form id="dns-form" class="mb-3"> 71 <div class="form-group"> 72 <label class="form-label" for="target-input">Domain Name</label> 73 <input type="text" 74 name="target" 75 id="target-input" 76 class="form-input form-input-lg" 77 placeholder="example.com" 78 autocomplete="off" 79 required> 80 <p class="form-hint">Enter a domain name to query its DNS records</p> 81 </div> 82 <button type="submit" class="btn btn-primary btn-lg btn-block" id="lookup-btn"> 83 <span id="btn-text">Lookup DNS</span> 84 <span id="btn-loading" class="hidden">Looking up...</span> 85 </button> 86 </form> 87 88 <!-- Error Message --> 89 <div id="error-message" class="error-message" role="alert"></div> 90 91 <!-- Loading Animation --> 92 <div id="loader" class="preloader"> 93 <div class="line"></div> 94 <div class="line"></div> 95 <div class="line"></div> 96 <div class="line"></div> 97 <div class="line"></div> 98 </div> 99 100 <!-- Results --> 101 <div id="results-container" class="results-container"> 102 <h3 class="panel-title mb-2">
103 <span class="panel-title-icon">⬡</span> 104 DNS Records 105 </h3> 106 <pre id="dns-output" class="code-block"></pre> 107 </div> 108 </div> 109 </section> 110 111 <!-- Right Panel - Info --> 112 <section class="panel"> 113 <div class="panel-header"> 114 <h2 class="panel-title"> 115 <span class="panel-title-icon">â</span> 116 About DNS 117 </h2> 118 <span class="panel-badge">Reference</span> 119 </div> 120 <div class="panel-body"> 121 <div class="info-box"> 122 <div class="info-box-title">What is DNS?</div> 123 <div class="info-box-content"> 124 The Domain Name System (DNS) is the phonebook of the Internet. It translates human-readable 125 domain names (like example.com) into IP addresses that computers use to identify each other 126 on the network. Without DNS, you'd need to remember numerical addresses for every website. 127 </div> 128 </div> 129 130 <div class="info-box"> 131 <div class="info-box-title">Common DNS Record Types</div> 132 <div class="info-box-content"> 133 <strong>A</strong> - Maps domain to IPv4 address<br> 134 <strong>AAAA</strong> - Maps domain to IPv6 address<br> 135 <strong>MX</strong> - Mail exchange servers (with priority)<br> 136 <strong>NS</strong> - Nameservers authoritative for the domain<br> 137 <strong>TXT</strong> - Text records (SPF, DKIM, verification)<br> 138 <strong>CNAME</strong> - Canonical name (alias to another domain)<br> 139 <strong>SOA</strong> - Start of Authority (zone information)<br> 140 <strong>PTR</strong> - Reverse DNS (IP to hostname) 141 </div> 142 </div> 143 144 <div class="info-box"> 145 <div class="info-box-title">Command Line Tools</div> 146 <div class="info-box-content"> 147 Query DNS records from your terminal:<br><br> 148 <code>dig example.com ANY</code><br> 149 <code>dig example.com MX +short</code><br> 150 <code>nslookup example.com</code><br> 151 <code>host -a example.com</code> 152 </div> 153 </div> 154 155 <div class="stats-grid mt-3"> 156 <div class="stat-card"> 157 <div class="stat-card-value">13</div> 158 <div class="stat-card-label">Root Servers</div> 159 </div> 160 <div class="stat-card"> 161 <div class="stat-card-value">~370M</div> 162 <div class="stat-card-label">Registered Domains</div> 163 </div> 164 <div class="stat-card"> 165 <div class="stat-card-value">1983</div> 166 <div class="stat-card-label">DNS Invented</div> 167 </div> 168 </div> 169 </div> 170 </section> 171</main> 172 173<!-- Bottom Info Section --> 174<section class="info-section"> 175 <div class="info-section-content"> 176 <div class="info-grid"> 177 <!-- How DNS Works --> 178 <div class="info-card"> 179 <h3 class="info-card-title">How DNS Resolution Works</h3> 180 <p>When you type a URL into your browser, a complex chain of queries begins. Your device first checks its local cache, then queries your configured DNS resolver (often your ISP's or a public resolver like 8.8.8.8 or 1.1.1.1).</p> 181 <p>If the resolver doesn't have the answer cached, it starts a recursive lookup: first querying a root server, then the TLD (top-level domain) server for .com/.org/etc., and finally the authoritative nameserver for the specific domain.</p> 182 <p>This entire process typically completes in under 100 milliseconds, and the result is cached at multiple levels to speed up future requests. TTL (Time-To-Live) values control how long each record stays cached.</p> 183 </div> 184 185 <!-- Security and DNS --> 186 <div class="info-card"> 187 <h3 class="info-card-title">DNS Security Considerations</h3> 188 <p><strong>DNSSEC:</strong>
188 DNS Security Extensions add cryptographic signatures to DNS records, allowing resolvers to verify that responses haven't been tampered with. This prevents attackers from redirecting traffic to malicious servers.</p> 189 <p><strong>DNS over HTTPS (DoH):</strong> Encrypts DNS queries to prevent eavesdropping and manipulation by parties between you and the resolver. Major browsers now support DoH.</p> 190 <p><strong>DNS over TLS (DoT):</strong> Similar to DoH but uses a dedicated port (853) for encrypted DNS traffic, making it easier for network administrators to identify DNS traffic while maintaining privacy.</p> 191 </div> 192 193 <!-- Email Records --> 194 <div class="info-card"> 195 <h3 class="info-card-title">Email-Related DNS Records</h3> 196 <p><strong>MX Records:</strong> Mail Exchange records specify which servers handle email for a domain, with priority values determining fallback order. Lower priority numbers indicate preferred servers.</p> 197 <p><strong>SPF (TXT Record):</strong> Sender Policy Framework lists which servers are authorized to send email for your domain, helping prevent email spoofing.</p> 198 <p><strong>DKIM:</strong> DomainKeys Identified Mail uses public key cryptography to sign outgoing emails. The public key is published as a TXT record for recipients to verify signatures.</p> 199 <p><strong>DMARC:</strong> Domain-based Message Authentication builds on SPF and DKIM, specifying how receivers should handle authentication failures.</p> 200 </div> 201 202 <!-- Practical Uses --> 203 <div class="info-card"> 204 <h3 class="info-card-title">Practical DNS Lookup Uses</h3> 205 <p><strong>Troubleshooting Email:</strong> When email isn't working, checking MX records often reveals misconfigured mail servers or expired domains.</p> 206 <p><strong>Verifying Domain Ownership:</strong> Many services require adding a specific TXT record to prove you control a domain before enabling features.</p> 207 <p><strong>Finding CDN or Hosting:</strong> A records and CNAME records reveal which infrastructure serves a websiteâuseful for identifying hosting providers or CDN services.</p> 208 <p><strong>Investigating Phishing:</strong> Comparing DNS records of suspicious domains with legitimate ones can reveal fraudulent sites mimicking trusted brands.</p> 209 </div> 210 </div> 211 </div> 212</section> 213 214 215 <!-- Footer --> 216 <footer class="footer"> 217 <div class="footer-content"> 218 <div class="footer-section"> 219 <h4>About</h4> 220 <ul> 221 <li><a href="/">Traceroute Online</a></li> 222 <li><a href="/internet-maps-stats/">Internet Statistics</a></li> 223 </ul> 224 </div> 225 <div class="footer-section"> 226 <h4>Tools</h4> 227 <ul> 228 <li><a href="/">Visual Traceroute</a></li> 229 <li><a href="/check-dns-records/">DNS Lookup</a></li> 230 <li><a href="/ip-asn-lookup/">ASN Lookup</a></li> 231 <li><a href="/mtr/">MTR Tool</a></li> 232 </ul> 233 </div> 234 <div class="footer-section"> 235 <h4>Resources</h4> 236 <ul> 237 <li><a href="https://hackertarget.com" target="_blank" rel="noopener">HackerTarget API</a></li> 238 <li><a href="https://www.submarinecablemap.com" target="_blank" rel="noopener">Submarine Cable Map</a></li> 239 </ul> 240 </div> 241 </div> 242 <div class="footer-bottom"> 243 Powered by HackerTarget API 244 </div> 245 </footer> 246 247 <!-- Leaflet JS --> 248
248<script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
248 249 250 251 252 <!-- Charts are needed only on the two reference pages. --> 253 254 255 <!-- Active nav highlighting --> 256
256<script> 257 document.addEventListener('DOMContentLoaded', function() { 258 const target = new URLSearchParams(window.location.search).get('target'); 259 const input = document.getElementById('target-input'); 260 if (target && input) input.value = target; 261 const currentPath = window.location.pathname; 262 const navLinks = document.querySelectorAll('.nav-link'); 263 264 navLinks.forEach(link => { 265 const href = link.getAttribute('href'); 266 if (currentPath === href || (currentPath === '/' && href === '/')) { 267 link.classList.add('active'); 268 link.setAttribute('aria-current', 'page'); 269 } 270 }); 271 }); 272 </script>
vendor: 1 bytes, line 272
272
273<script type="text/javascript">
vendor: 338 bytes, lines 273-278
273 274 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 275 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 276 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 277 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 278 ga('create', '
278UA-2487671-9
vendor: 38 bytes, lines 278-279
278', 'auto'); 279 ga('send', 'pageview');
280</script>
280 281 282
283<script> 284document.addEventListener('DOMContentLoaded', function() { 285 const form = document.getElementById('dns-form'); 286 const loader = document.getElementById('loader'); 287 const resultsContainer = document.getElementById('results-container'); 288 const dnsOutput = document.getElementById('dns-output'); 289 const errorMessage = document.getElementById('error-message'); 290 const statusBadge = document.getElementById('status-badge'); 291 const btnText = document.getElementById('btn-text'); 292 const btnLoading = document.getElementById('btn-loading'); 293 const lookupBtn = document.getElementById('lookup-btn'); 294 295 form.addEventListener('submit', async function(e) { 296 e.preventDefault(); 297 298 const target = document.getElementById('target-input').value.trim(); 299 if (!target) return; 300 301 // Show loading 302 loader.classList.add('active'); 303 resultsContainer.classList.remove('active'); 304 errorMessage.classList.remove('active'); 305 btnText.classList.add('hidden'); 306 btnLoading.classList.remove('hidden'); 307 lookupBtn.disabled = true; 308 statusBadge.textContent = 'Looking up...'; 309 310 try { 311 const formData = new FormData(); 312 formData.append('target', target); 313 formData.append('query_type', 'dns'); 314 315 const response = await fetch('/query', { 316 method: 'POST', 317 body: formData 318 }); 319 320 if (!response.ok) throw new Error(response.status === 429 ? 'Too many requests. Please wait before trying again.' : 'The lookup service is unavailable. Please try again.'); 321 const data = await response.text(); 322 323 if (data.includes('Invalid') || data.includes('Error')) { 324 errorMessage.textContent = data; 325 errorMessage.classList.add('active'); 326 statusBadge.textContent = 'Error'; 327 } else { 328 dnsOutput.textContent = data; 329 resultsContainer.classList.add('active'); 330 statusBadge.textContent = 'Complete'; 331 } 332 } catch (error) { 333 errorMessage.textContent = error.message || 'Failed to connect to the server. Please try again.'; 334 errorMessage.classList.add('active'); 335 statusBadge.textContent = 'Error'; 336 console.error('DNS lookup error:', error); 337 } finally { 338 loader.classList.remove('active'); 339 btnText.classList.remove('hidden'); 340 btnLoading.classList.add('hidden'); 341 lookupBtn.disabled = false; 342 } 343 }); 344}); 345</script>
345 346
347<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"161b3c43802643c8bf76769073983a7c","r":1,"spa":2}' crossorigin="anonymous"></script>
347 348</body> 349</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.