2013-05-14 10 views
5

IP上にwhoisを実行して、Node.js/ExpressサーバでそのIPを提供するISPを取得する方法はありますか?node.jsのIPのISPを取得する

私は既にIPを手に入れました。私はクライアントのIPを取得する方法を探していません。

私は、JSONを返送する有料サービスに対する外部リクエストの方法を見つけましたが、ネイティブな方法を探したいと思います。

あなたは私を助けることができることを知っていますか?

編集:私はwhoisサーバーを構築しようとしていません。クライアントのISP名を取得するために構築するアプリケーションが必要です。

+0

あなたはnode.jsにwhoisクライアントを実装したいと言っていますか? – booyaa

+0

全くありません。私は1つを使用したいと思います。 – brnrd

+0

あなたは無料の既存のサービスを使用することを意味しますか? – booyaa

答えて

7

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); 
    } 
}); 
+0

satelite npmモジュールへのリンクを追加できますか?いいだろう。 – Walter

6

Thisは、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); 
}); 

唯一の問題は、出力は非常に素晴らしいではないということです。

+0

IP番号を渡してみましたか? – robertklep

+0

@robertklepそれを指摘してくれてありがとう。私の答えを修正しました。 – adrianp

+0

あなたの更新されたソリューションの問題点は、IP-numberが(ReferralServer'プロパティを介して)割り当てられている実際のISPを取得するために検索する必要がある他のWHOISサーバを参照できることです。 – robertklep

関連する問題