Advertisement
rg443

rdns.js

Feb 26th, 2017
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var dns = require("dns");
  2. var net = require("net");
  3. var fs = require("fs");
  4. dns.setServers(["74.82.42.42", "208.67.222.222", "213.33.99.70"]);
  5. var ip = "8.8.8";
  6. if (process.argv.length == 3) {
  7.   var _ip = process.argv[2];
  8.   ip = _ip.split(".", 4).slice(0, 3).join(".");
  9. }
  10. rdns(ip, function(data) {
  11.   if (data.length) {
  12.     var logStream1 = fs.createWriteStream("dns1-" + (new Date).toISOString().split("T")[0] + ".txt", {"flags":"a"});
  13.     logStream1.write(data.join("\n") + "\n");
  14.     logStream1.close();
  15.   }
  16. });
  17. function rdns(ip, callback) {
  18.   var _i = 0, _j = 0, t1 = new Date;
  19.   var arr = [];
  20.   for (var i = 0;i < 255;i++) {
  21.     _i++;
  22.     process.nextTick(function(v) {
  23.       var a = v.split(".").reverse().join(".") + ".in-addr.arpa";
  24.       dns.resolvePtr(a, function(err, result) {
  25.         _i--;
  26.         if (err) {
  27.         } else {
  28.           console.log(v + "\t" + result.sort().join(", ").toLowerCase());
  29.           arr.push(v + "\t" + result.sort().join(", ").toLowerCase());
  30.           _j++;
  31.         }
  32.         if (_i == 0) {
  33.           console.error("%s ms %s records, done.", new Date - t1, _j);
  34.           if (callback) {
  35.             callback(arr);
  36.           }
  37.         }
  38.       });
  39.     }, ip + "." + i);
  40.   }
  41. }
  42. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement