Perform Bulk 'DNS' Queries Using 'zdns'
Provides wrapper/helper methods for executing 'zdns' (https://github.com/zmap/zdns) bulk queries along with utility methods to retrieve and cache 'Public DNS' (http://public-dns.info/) nameserver lists.
zdns: https://github.com/zmap/zdnsPublic DNS Lists: http://public-dns.info/The following functions are implemented:
install_zdns: Helper to try to get zdns installedrefresh_publc_nameservers_list: Refresh the list of valid public nameserverszdns_exec: Raw interface to zdnszdns_help: Raw interface to zdnszdns_query: Bulk query using zdnsdevtools::install_github("hrbrmstr/zdnsr")
options(width=120)
library(zdnsr) # current verison packageVersion("zdnsr")
c( "www", "mail", "mx", "blog", "ns1", "ns2", "dev", "server", "email", "cloud", "api", "support", "smtp", "app", "webmail", "test", "box", "m", "admin", "forum", "news", "web", "mail2", "ns", "demo", "my", "portal", "shop", "host", "cdn", "git", "vps", "mx1", "mail1", "static", "help", "ns3", "beta", "chat", "secure", "staging", "vpn", "apps", "server1", "ftp", "crm", "new", "wiki", "home", "info" ) -> top_common_prefixes # via Rapid7 FDNS analysis tf <- tempfile(fileext = ".json") zdns_query( sprintf("%s.rstudio.com", top_common_prefixes), query_type = "A", num_nameservers = (length(top_common_prefixes) * 2), output_file = tf ) res <- jsonlite::stream_in(file(tf)) unlink(tf) found <- which(lengths(res$data$answers) > 0) do.call( rbind.data.frame, lapply(found, function(idx) { res$data$answers[[idx]]$query_name <- res$name[idx] res$data$answers[[idx]] }) ) -> xdf xdf <- xdf[,c("query_name", "name", "class", "ttl", "type", "answer")] knitr::kable(xdf)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.