Node.js dns.lookupService() Method

The dns.lookupService() method is an inbuilt application programming interface of the dns module which is used to resolve the addresses and port number to hostname using operating system’s underlying getnameinfo implementation.

Syntax:

dns.lookupService( address, port, callback )

Parameters: This method has three parameters as mentioned above and described below:

  • address: It specifies a string which denotes the address to be resolved.
  • port: It is a number that specifies the port number of the address whose service is to be resolved.
  • callback: It specifies a function to be called after resolution of the address and port.
    • error: It specifies error if generated.
    • hostname: String representation of the hostname. e.g. w3wiki.net
    • service: It’s a string, specifies name of the service. e.g. http

Return Value: This method returns error, hostname and services through callback function. These data are passed as parameters to the callback function.

Below examples illustrate the use of dns.lookupService() method in Node.js:

Example 1: IP for localhost




// Accessing dns module
const dns = require('dns');
  
// Calling dns.lookupService() method for
// 127.0.0.1 port  number 22
dns.lookupService('127.0.0.1', 22,
         (err, hostname, service) => {
          
    // Printing hostname and service as callback
    console.log(hostname, service);
});


Output: Here name of my computer is my-lappy

my-lappy ssh

Example 2:




// Accessing dns module
const dns = require('dns');
   
// Setting options for dns.lookup() method
const options = {
       
    // Setting family as 4 i.e. IPv4
    family: 4,
    hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
   
dns.lookup('www.w3wiki.net'
        options, (err, address, family) => {
       
    console.log('address:', address);
        if(err){
            console.log(err.stack);
        } else{
   
        // Calling dns.lookupService() method 
        dns.lookupService(address, 80,
                 (err, hostname, service) => {
            if(err){
                console.log(err.stack);
            }
               
            // Printing hostname and service
            // as callback
            console.log(hostname, service);
        });
    }
});


Output:

address: 42.106.162.241
42-106-162-241.live.vodafone.in http

Note: The above program will compile and run by using the node filename.js command.

Reference: https://nodejs.org/api/dns.html#dns_dns_lookupservice_address_port_callback