在预定义的IP地址列表中查找域名

时间:2014-06-06 13:15:26

标签: javascript node.js dns ip

我正在使用Node.js创建一个自定义服务器,该服务器将拦截用户访问的任何IP地址并返回该站点的名称。例如,如果用户要64.233.160.4,我的服务器会看到它,将其与已有的列表进行比较并返回Google

我被告知使用Node.js完成此任务。我查找了使用Node.js创建DNS并找到了一个指向其API的链接并进行了处理。我曾经尝试过Node.js DNS API页面中的示例;

var dns = require('dns');

dns.resolve4('www.google.com', function (err, addresses) {
if (err) throw err;

console.log('addresses: ' + JSON.stringify(addresses));

addresses.forEach(function (a) {
   dns.reverse(a, function (err, domains) {
     if (err) {
       throw err;
     }

     console.log('reverse for ' + a + ': ' + JSON.stringify(domains));
    });
  });
});

我得到了以下结果;

addresses:     ["74.125.24.99","74.125.24.104","74.125.24.103","74.125.24.147","74.125.24.105","74.125.24.106"]
reverse for 74.125.24.99: ["de-in-f99.1e100.net"]
reverse for 74.125.24.104: ["de-in-f104.1e100.net"]
reverse for 74.125.24.103: ["de-in-f103.1e100.net"]
reverse for 74.125.24.147: ["de-in-f147.1e100.net"]
reverse for 74.125.24.105: ["de-in-f105.1e100.net"]
reverse for 74.125.24.106: ["de-in-f106.1e100.net"]

这对我不利,因为我需要Google而不是de-in-f106.1e100.net,所以我为什么要创建自定义DNS。

我想要实现的目标;

  • 拥有已知范围的IP地址64.233.160.0 - 64.233.191.255
  • 读取IP地址64.233.160.25
  • 将其与预定义列表进行比较,并且能够看到它在
  • 范围内
  • 如果在该范围内,请返回Google

我被告知要用Node.js这样做,并且已经在互联网上搜索有关如何做到这一点的信息,但我似乎越来越困惑。我知道我应该展示我所做的所有工作,但我仍然想要开始。 如果有人能给我帮助和建议,我们将不胜感激。

0 个答案:

没有答案