Nmap Development mailing list archives
Re: -6 and mass_dns and dns.lua
From: jah <jah () zadkiel plus com>
Date: Tue, 07 Oct 2008 16:05:03 +0100
Hi folks, The attached patches nmapOps.cc and nmap_dns.cc: o.mass_dns is not set to false for IPv6 targets. system dns resolution is skipped for IPv6 targets when nmap_mass_rdns() is called with zero num_targets allowing dns servers to be obtained from the windows registry or /etc/resolv.conf if the dns servers aren't already known (servs.size() is zero). After doing this the function returns immediately and without proceeding to /etc/hosts lookup etc. --system-dns is respected. Regards, jah
diff -urNb nmap-4.76/NmapOps.cc nmap-4.76-working_copy/NmapOps.cc --- nmap-4.76/NmapOps.cc 2008-09-30 02:20:17.734375000 +0100 +++ nmap-4.76-working_copy/NmapOps.cc 2008-10-07 14:38:55.546875000 +0100 @@ -488,7 +488,7 @@ fatal("Sorry -- IPv6 support is currently only available for connect() scan (-sT), ping scan (-sP), and list scan (-sL). OS detection and decoys are also not supported with IPv6. Further support is under consideration."); } - if (af() != AF_INET) mass_dns = false; + if (af() != AF_INET && af() != AF_INET6) mass_dns = false; /* Prevent performance values from getting out of whack */ if (min_parallelism > max_parallelism) diff -urNb nmap-4.76/nmap_dns.cc nmap-4.76-working_copy/nmap_dns.cc --- nmap-4.76/nmap_dns.cc 2008-10-07 15:06:42.312500000 +0100 +++ nmap-4.76-working_copy/nmap_dns.cc 2008-10-07 14:51:10.296875000 +0100 @@ -1129,7 +1129,7 @@ bool lasttrace = false; char spmobuf[1024]; - if (o.mass_dns == false) { + if (o.mass_dns == false || (o.af() == AF_INET6 && num_targets)) { Target *currenths; struct sockaddr_storage ss; size_t sslen; @@ -1175,6 +1175,7 @@ if (servs.size() == 0 && firstrun) error("mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers"); } + if (o.af() == AF_INET6 && !num_targets) return; // If necessary, set up the /etc/hosts hashtable etchosts_init(); @@ -1306,7 +1307,7 @@ if (stat_actual > 0) { if (o.debugging || o.verbose >= 3) { - if (o.mass_dns) { + if (o.mass_dns && o.af() != AF_INET6) { // #: Number of DNS servers used // OK: Number of fully reverse resolved queries // NX: Number of confirmations of 'No such reverse domain eXists' @@ -1332,8 +1333,11 @@ std::list<std::string> get_dns_servers() { // if, for example, run with -n, list is not initialized, // run empty nmap_mass_rdns to do so - if(servs.size() == 0 && firstrun) { + static int firstNoTargets=1; + + if(servs.size() == 0 && (firstrun || firstNoTargets)) { nmap_mass_rdns(NULL, 0); + firstNoTargets = 0; } std::list<dns_server *>::iterator servI; std::list<std::string> serverList;
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- -6 and mass_dns and dns.lua jah (Oct 05)
- Re: -6 and mass_dns and dns.lua jah (Oct 06)
- Re: -6 and mass_dns and dns.lua jah (Oct 07)
- Re: -6 and mass_dns and dns.lua David Fifield (Oct 19)
- Re: -6 and mass_dns and dns.lua jah (Oct 20)
- Re: -6 and mass_dns and dns.lua David Fifield (Oct 30)
- Re: -6 and mass_dns and dns.lua jah (Oct 30)
- Re: -6 and mass_dns and dns.lua David Fifield (Oct 31)
- Re: -6 and mass_dns and dns.lua jah (Oct 31)
- Re: -6 and mass_dns and dns.lua jah (Oct 07)
- Re: -6 and mass_dns and dns.lua jah (Oct 06)