2013-05-14 9 views
5

C'è un modo per eseguire un whois su un IP per ottenere l'ISP che fornisce quell'IP in un server Node.js/Express?Ottieni l'ISP di un IP in node.js

Ho già ricevuto l'IP, non sto cercando un modo per ottenere l'IP del client.

Ho trovato modi con richiesta esterna di servizi a pagamento che rimandano JSON, ma mi piacerebbe trovare un modo nativo.

Ragazzi, sapete qualcosa che potrebbe aiutarmi?

Modifica: Non sto cercando di creare un server whois, ho solo bisogno dell'applicazione che creo per ottenere il nome dell'ISP del client.

+0

stai dicendo che vorresti implementare il client whois in node.js? – booyaa

+0

Niente affatto. Mi piacerebbe usarne uno. – brnrd

+0

Vuoi dire che usi un servizio esistente che è gratuito? – booyaa

risposta

7

È possibile ottenere le informazioni dell'ISP utilizzando il modulo nodo-whois ma nella sua risposta è piuttosto complesso accedere al valore per una determinata chiave. Quindi, esiste un altro modo per utilizzare il modulo satellitare. Questo modulo può fornire una risposta rapida e la risposta è disponibile in formato json in modo da poter accedere facilmente a qualsiasi valore chiave. Ecco il codice.

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

È possibile aggiungere un collegamento al modulo npm satelite. Sarebbe bello. – Walter

6

This è un modulo Node.js che implementa un client whois.

Come indicato correttamente da @robertklep, il modulo precedente non funziona con gli indirizzi IP. Eppure, node-whois fa (io personalmente testato il codice questa volta):

"use strict"; 

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

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

L'unico problema è che l'uscita non è molto bello.

+0

Hai provato a passargli un numero IP? – robertklep

+0

@robertklep Grazie per avermelo fatto notare. Risolto il problema con la mia risposta – adrianp

+0

Il problema con la soluzione aggiornata è che può fare riferimento ad altri server WHOIS che devono essere ricercati per ottenere l'ISP effettivo a cui è assegnato il numero IP (tramite la proprietà 'ReferralServer'). – robertklep

Problemi correlati