我正在使用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。
我想要实现的目标;
64.233.160.0 - 64.233.191.255
64.233.160.25
Google
我被告知要用Node.js这样做,并且已经在互联网上搜索有关如何做到这一点的信息,但我似乎越来越困惑。我知道我应该展示我所做的所有工作,但我仍然想要开始。 如果有人能给我帮助和建议,我们将不胜感激。