Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 412
brnrd Avatar asked May 14 '13 10:05

brnrd


2 Answers

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 );
     }
});
like image 133
Tukaram Patil Pune Avatar answered Nov 15 '22 04:11

Tukaram Patil Pune


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.

like image 43
adrianp Avatar answered Nov 15 '22 05:11

adrianp