From a5b421e67c45708391cb1c44725c359ae4a7f75c Mon Sep 17 00:00:00 2001 From: pgpickering Date: Thu, 21 Aug 2008 09:24:35 +0000 Subject: [PATCH] added get_dns_servers() to nmap_dns.cc/.h --- nmap_dns.cc | 18 ++++++++++++++++++ nmap_dns.h | 1 + 2 files changed, 19 insertions(+) diff --git a/nmap_dns.cc b/nmap_dns.cc index c457be27a..22dd36cad 100644 --- a/nmap_dns.cc +++ b/nmap_dns.cc @@ -1326,3 +1326,21 @@ void nmap_mass_rdns(Target **targets, int num_targets) { firstrun=0; } + + +// Returns a list of known DNS servers +std::list 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) { + nmap_mass_rdns(NULL, 0); + } + std::list::iterator servI; + std::list serverList; + dns_server *tpserv; + for(servI = servs.begin(); servI != servs.end(); servI++) { + tpserv = *servI; + serverList.push_back(inet_ntoa(tpserv->addr.sin_addr)); + } + return serverList; +} diff --git a/nmap_dns.h b/nmap_dns.h index bb1b072fc..942b6253d 100644 --- a/nmap_dns.h +++ b/nmap_dns.h @@ -103,3 +103,4 @@ const char *lookup_cached_host(u32 ip); void free_dns_servers(); void free_etchosts(); +std::list get_dns_servers();