const dns = require('dns');
// Функция для генерации списка поддоменов
const generateSubdomains = function(length) {
const charset = 'abcdefghijklmnopqrstuvwxyz'.split('');
let subdomains = charset;
let subdomain;
let letter;
let temp;
for (let i = 1; i < length; i++) {
temp = [];
for (let k = 0; k < subdomains.length; k++) {
subdomain = subdomains[k];
for (let m = 0; m < charset.length; m++) {
letter = charset[m];
temp.push(subdomain + letter);
}
}
subdomains = temp;
}
return subdomains;
}
// Генерируем список поддоменов длиной до 3 символов (чтобы не ждать слишком долго)
const subdomains = generateSubdomains(3);
const promises = [];
// Перебираем поддомены и делаем DNS-запросы
subdomains.forEach((subdomain) => {
promises.push(new Promise((resolve) => {
// ЗАМЕНИЛИ mega-bank.com НА dns-shop.ru
dns.resolve(`${subdomain}.dns-shop.ru`, function (err, ip) {
return resolve({ subdomain: subdomain, ip: ip });
});
}));
});
// Выводим результаты
Promise.all(promises).then(function(results) {
let found = false;
results.forEach((result) => {
if (result.ip) {
console.log(`Найден поддомен: ${result.subdomain}.dns-shop.ru -> ${result.ip}`);
found = true;
}
});
if (!found) {
console.log("Новых поддоменов не найдено.");
}
});