DNS in Google Sheets
1.1.1.1 works directly inside Google Sheets. To get started, create a Google Function with the following code:
function NSLookup(type, domain) {  if (typeof type == 'undefined') {    throw new Error('Missing parameter 1 dns type');  }
  if (typeof domain == 'undefined') {    throw new Error('Missing parameter 2 domain name');  }
  type = type.toUpperCase();
  var url =    'https://cloudflare-dns.com/dns-query?name=' +    encodeURIComponent(domain) +    '&type=' +    encodeURIComponent(type);
  var options = {    muteHttpExceptions: true,    headers: {      accept: 'application/dns-json',    },  };
  var result = UrlFetchApp.fetch(url, options);  var rc = result.getResponseCode();  var resultText = result.getContentText();
  if (rc !== 200) {    throw new Error(rc);  }
  var errors = [    { name: 'NoError', description: 'No Error' }, // 0    { name: 'FormErr', description: 'Format Error' }, // 1    { name: 'ServFail', description: 'Server Failure' }, // 2    { name: 'NXDomain', description: 'Non-Existent Domain' }, // 3    { name: 'NotImp', description: 'Not Implemented' }, // 4    { name: 'Refused', description: 'Query Refused' }, // 5    { name: 'YXDomain', description: 'Name Exists when it should not' }, // 6    { name: 'YXRRSet', description: 'RR Set Exists when it should not' }, // 7    { name: 'NXRRSet', description: 'RR Set that should exist does not' }, // 8    { name: 'NotAuth', description: 'Not Authorized' }, // 9  ];
  var response = JSON.parse(resultText);
  if (response.Status !== 0) {    return errors[response.Status].name;  }
  var outputData = [];
  for (var i in response.Answer) {    outputData.push(response.Answer[i].data);  }
  var outputString = outputData.join(',');
  return outputString;
}
Now, when you feed the function NSLookup a record type and a domain, you will get a DNS record value in the cell you called NSLookup.
The record types supported are:
- A
- AAAA
- CAA
- CNAME
- DS
- DNSKEY
- MX
- NS
- NSEC
- NSEC3
- RRSIG
- SOA
- TXT
For example, typing:
NSLookup(B1, B2)
Returns
198.41.214.162, 198.41.215.162