5

有没有办法在 IP 上执行 whois 以获取在 Node.js/Express 服务器中提供该 IP 的 ISP?

我已经获得了IP,我不是在寻找获取客户端IP的方法。

我已经找到了对发回 JSON 的付费服务的外部请求的方法,但我想找到一种本地方式。

你们知道什么可以帮助我吗?

编辑:我不是想建立一个 whois 服务器,我只需要我建立的应用程序来获取客户端的 ISP 名称。

4

3 回答 3

8

您可以使用 node-whois 模块获取 ISP 信息,但在其响应中,访问特定键的值非常复杂。所以还有另一种方法是您可以使用卫星模块,该模块可以提供快速响应,并且响应以 json 格式提供,因此您可以轻松访问任何键值。这是代码。

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 );
     }
});
于 2014-10-09T13:55:23.537 回答
6

是一个实现 whois 客户端的 Node.js 模块。

正如@robertklep 正确指出的那样,上述模块不适用于 IP 地址。尽管如此,node-whois还是可以的(这次我亲自测试了代码):

"use strict";

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

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

唯一的问题是输出不是很好。

于 2013-05-14T12:14:14.127 回答
5

https://github.com/xreader/whois有很好的 JSON 输出。希望这可以帮助某人。

于 2015-09-27T19:28:34.503 回答