brnrd
brnrd

Reputation: 3486

Get the ISP of an IP in node.js

Is there a way to perform a whois on an IP to get the ISP that provides that IP in a Node.js/Express server ?

I already got the IP, I'm not looking for a way to get the client's IP.

I've found ways with external request to paid services that sends back JSON, but I would like to find a native way.

Do you guys know anything that could help me ?

Edit: I'm not trying to build a whois server, I just need for the application I build to get the client's ISP name.

Upvotes: 7

Views: 5619

Answers (3)

Bill Butler
Bill Butler

Reputation: 489

https://github.com/xreader/whois has nice JSON output. Hope this helps somebody.

Upvotes: 5

Tukaram Patil Pune
Tukaram Patil Pune

Reputation: 809

You can get ISP information by using node-whois module but in its response it quite complex to access value for a particular key. So there is another way is you can use satellite module, This module can give quick response and response is available in json format so you can access any key values easily. Here is the code.

var satelize = require('satelize');
var ExternalIP = "173.194.70.100"; // I asume that, you already have external(public)IP
satelize.satelize({ip: ExtenalIP}, function(err, geoData) 
{

     if(err){
        console.log(" Error in retriving ISP Information");  
     }
     else
     {
        console.log("ISP Information for "+ ExternalIP+" :"+geoData );
     }
});

Upvotes: 8

adrianp
adrianp

Reputation: 2551

This is a Node.js module implementing a whois client.

As correctly pointed out by @robertklep, the above module does not work with IP addresses. Still, node-whois does (I personally tested the code this time):

"use strict";

var whois = require('node-whois');

whois.lookup('173.194.70.100', function(err, data) {
  console.log(err, data);
});

The only issue is that the output is not very nice.

Upvotes: 7

Related Questions