NSLOOKUP with Google Apps Script

Post date: Mar 15, 2018 9:53:5 AM

Anyone who deals with public DNS must have used NSLOOKUP Command Line Tool available in major Operating Systems. Google provides public DNS servers with IP Addresses and which we usually use to resolve a domain name and find value for the various type of DNS records. Traditional DNS queries and responses are sent over UDP or TCP.

Google Public DNS Provides  API https://dns.google.com/resolve? which can be used in Apps Script program with UrlFetchApp to fetch the results from Google Public DNS Server.

Here is a sample code.

  var api_url = 'https://dns.google.com/resolve'; // Google Pubic DNS API Url


  var type = 'MX'; // Type of record to fetch, A, AAAA, MX, CNAME, TXT, ANY


  var name = 'sbctech.net'; // The domain name to lookup


  var requestUrl = api_url + '?name=' + name + '&type=' + type; // Build request URL


  var response = UrlFetchApp.fetch(requestUrl); // Fetch the reponse from API


  var responseText = response.getContentText(); // Get the response text


  var json = JSON.parse(responseText); // Parse the JSON text


  var answers = json.Answer.map(function(ans){return ans.data}).join('\n'); // Get the values


  Logger.log(answers); // Log the Values

After running the above code. Values will be logged in the Logger.

5 alt1.aspmx.l.google.com.

5 alt2.aspmx.l.google.com.

10 alt3.aspmx.l.google.com.

1 aspmx.l.google.com.

10 alt4.aspmx.l.google.com.

For more details on API, you can check the Google Documentation