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 に答える