Node.js DNS Module

🌐 Node.js – DNS Module

The DNS (Domain Name System) module allows you to perform DNS lookups, resolve domain names, and get IP address information from the internet.

To use the module:

const dns = require("dns");

⭐ 1. dns.lookup()

Resolves a domain name into an IP address.

dns.lookup("google.com", (err, address, family) => {
console.log("IP Address:", address);
console.log("IP Family:", family);
});

Output example:

IP Address: 142.250.182.78
IP Family: 4

⭐ 2. dns.resolve()

Resolves a host name into an array of records.

Example: Resolve A records (IPv4)

dns.resolve("google.com", "A", (err, addresses) => {
console.log(addresses);
});

Types of DNS records you can resolve:

Record Meaning
A IPv4 address
AAAA IPv6 address
CNAME Alias
MX Mail servers
TXT Text records
NS Name servers

Example (MX records):

dns.resolve("google.com", "MX", (err, records) => {
console.log(records);
});

⭐ 3. dns.reverse()

Reverse lookup: Get domain name(s) from an IP address.

dns.reverse("8.8.8.8", (err, hostnames) => {
console.log(hostnames);
});

⭐ 4. dns.resolve4()

Get IPv4 addresses only.

dns.resolve4("google.com", (err, addresses) => {
console.log(addresses);
});

⭐ 5. dns.resolve6()

Get IPv6 addresses.

dns.resolve6("google.com", (err, addresses) => {
console.log(addresses);
});

⭐ 6. dns.lookupService()

Gets the hostname and service for an IP and port.

dns.lookupService("8.8.8.8", 80, (err, hostname, service) => {
console.log("Hostname:", hostname);
console.log("Service:", service);
});

⭐ 7. Using Promises – dns.promises

Modern and cleaner approach.

const dnsPromises = dns.promises;

dnsPromises.lookup("facebook.com")
.then(result => console.log(result))
.catch(err => console.error(err));


⭐ 8. Full Example

const dns = require("dns");

// Lookup IP
dns.lookup("example.com", (err, address) => {
console.log("Address:", address);
});

// Resolve all IPv4 addresses
dns.resolve4("example.com", (err, addresses) => {
console.log("IPv4:", addresses);
});

// Reverse lookup
dns.reverse("8.8.8.8", (err, hostnames) => {
console.log("Reverse:", hostnames);
});


🎯 Where DNS Module Is Used

✔ Making network tools
✔ Building custom resolvers
✔ Monitoring domains
✔ Email server validation (MX records)
✔ Reverse IP lookup
✔ Checking website IP address
✔ Load balancing (multiple IPs per domain)

You may also like...