# dns

***

**1. DNS Lookup**

```javascript
// Import the DNS module
const dns = require('dns');

// Perform a DNS lookup
dns.lookup('google.com', (err, address, family) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Address:', address);
    console.log('Family:', family);
  }
});
```

**2. Reverse DNS Lookup**

```javascript
// Import the DNS module
const dns = require('dns');

// Perform a reverse DNS lookup
dns.reverse('8.8.8.8', (err, hostnames) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Hostnames:', hostnames);
  }
});
```

**3. Get MX Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the MX records for a domain
dns.getMX('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('MX Records:', addresses);
  }
});
```

**4. Set MX Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the MX records for a domain
dns.setMX('mydomain.com', [{
  exchange: 'mail.mydomain.com',
  priority: 10
}], (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('MX Records set successfully.');
  }
});
```

**5. Get TXT Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the TXT records for a domain
dns.getTXT('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('TXT Records:', addresses);
  }
});
```

**6. Set TXT Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the TXT records for a domain
dns.setTXT('mydomain.com', ['This is a TXT record'], (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('TXT Records set successfully.');
  }
});
```

**7. Get SRV Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the SRV records for a domain
dns.getSRV('google.com', 'https', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SRV Records:', addresses);
  }
});
```

**8. Set SRV Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the SRV records for a domain
dns.setSRV('mydomain.com', 'https', [{
  name: 'myhost.mydomain.com',
  port: 443,
  priority: 10,
  weight: 1
}], (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SRV Records set successfully.');
  }
});
```

**9. Get SPF Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the SPF records for a domain
dns.getSPF('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SPF Records:', addresses);
  }
});
```

**10. Set SPF Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the SPF records for a domain
dns.setSPF('mydomain.com', 'v=spf1 a mx -all', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SPF Records set successfully.');
  }
});
```

**11. Get SOA Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the SOA records for a domain
dns.getSOA('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SOA Records:', addresses);
  }
});
```

**12. Set SOA Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the SOA records for a domain
dns.setSOA('mydomain.com', 'ns1.mydomain.com', 'hostmaster.mydomain.com', 2019052000, 1800, 900, 604800, 3600), (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SOA Records set successfully.');
  }
});
```

**13. Get NS Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Get the NS records for a domain
dns.getNS('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('NS Records:', addresses);
  }
});
```

**14. Set NS Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Set the NS records for a domain
dns.setNS('mydomain.com', ['ns1.mydomain.com', 'ns2.mydomain.com'], (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('NS Records set successfully.');
  }
});
```

**15. Resolve Any Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve any records for a domain
dns.resolveAny('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Any Records:', addresses);
  }
});
```

**16. Resolve Na PTR Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve na PTR records for a domain
dns.resolveNaPTR('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Na PTR Records:', addresses);
  }
});
```

**17. Resolve SOA Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve SOA records for a domain
dns.resolveSOA('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SOA Records:', addresses);
  }
});
```

**18. Resolve MX Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve MX records for a domain
dns.resolveMX('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('MX Records:', addresses);
  }
});
```

**19. Resolve TXT Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve TXT records for a domain
dns.resolveTXT('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('TXT Records:', addresses);
  }
});
```

**20. Resolve SRV Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve SRV records for a domain
dns.resolveSRV('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SRV Records:', addresses);
  }
});
```

**21. Resolve SPF Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve SPF records for a domain
dns.resolveSPF('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('SPF Records:', addresses);
  }
});
```

**22. Resolve CAA Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve CAA records for a domain
dns.resolveCAA('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('CAA Records:', addresses);
  }
});
```

**23. Resolve PTR Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve PTR records for a domain
dns.resolvePTR('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('PTR Records:', addresses);
  }
});
```

**24. Resolve TLSA Records**

```javascript
// Import the DNS module
const dns = require('dns');

// Resolve TLSA records for a domain
dns.resolveTLSA('google.com', (err, addresses) => {
  if (err) {
    console.error(err);
  } else {
    console.log('TLSA Records:', addresses);
  }
});

```
