You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boB Rudis 27607208ca play nicer when zdns can't be found initially 4 months ago
R play nicer when zdns can't be found initially 4 months ago
README_cache/gfm Fixed when nameserver list is cached; added examples 1 year ago
man changed default thread count in zdns_query 1 year ago
tests R package repo initialization complete 1 year ago
.Rbuildignore Fixed when nameserver list is cached; added examples 1 year ago
.codecov.yml R package repo initialization complete 1 year ago
.gitignore R package repo initialization complete 1 year ago
.travis.yml R package repo initialization complete 1 year ago
DESCRIPTION intial commit 1 year ago
NAMESPACE intial commit 1 year ago
NEWS.md R package repo initialization complete 1 year ago
README.Rmd Fixed when nameserver list is cached; added examples 1 year ago
README.md Fixed when nameserver list is cached; added examples 1 year ago
zdnsr.Rproj R package repo initialization complete 1 year ago

README.md

zdnsr

Perform Bulk ‘DNS’ Queries Using ‘zdns’

Description

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.

What’s Inside The Tin

The following functions are implemented:

  • install_zdns: Helper to try to get zdns installed
  • refresh_publc_nameservers_list: Refresh the list of valid public nameservers
  • zdns_exec: Raw interface to zdns
  • zdns_help: Raw interface to zdns
  • zdns_query: Bulk query using zdns

Installation

devtools::install_github("hrbrmstr/zdnsr")

Usage

library(zdnsr)

# current verison
packageVersion("zdnsr")
## [1] '0.1.0'

Example (top prefix enumeration)

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
)
## zmap error log will be stored in /var/folders/1w/2d82v7ts3gs98tc6v772h8s40000gp/T//RtmpQLNb6f/zmap-error6f90237c7564.json
res <- jsonlite::stream_in(file(tf))
## opening file input connection.

## 
 Found 50 records...
 Imported 50 records. Simplifying...

## closing file input connection.
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)
query_name name class ttl type answer
wiki.rstudio.com wiki.rstudio.com IN 60 CNAME rstudio.wpengine.com.
wiki.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
cloud.rstudio.com cloud.rstudio.com IN 60 CNAME rstudio.wpengine.com.
cloud.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
support.rstudio.com support.rstudio.com IN 2978 CNAME rstudioide.ssl.zendesk.com.
support.rstudio.com rstudioide.ssl.zendesk.com IN 278 CNAME rstudioide.zendesk.com.
support.rstudio.com rstudioide.zendesk.com IN 563 A 35.174.158.178
support.rstudio.com rstudioide.zendesk.com IN 563 A 54.208.38.43
support.rstudio.com rstudioide.zendesk.com IN 563 A 35.174.160.246
test.rstudio.com test.rstudio.com IN 60 CNAME rstudio.wpengine.com.
test.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
vpn.rstudio.com vpn.rstudio.com IN 60 CNAME rstudio.wpengine.com.
vpn.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
ns.rstudio.com ns.rstudio.com IN 60 CNAME rstudio.wpengine.com.
ns.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
admin.rstudio.com admin.rstudio.com IN 60 CNAME rstudio.wpengine.com.
admin.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
mail2.rstudio.com mail2.rstudio.com IN 60 CNAME rstudio.wpengine.com.
mail2.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
static.rstudio.com static.rstudio.com IN 60 CNAME rstudio.wpengine.com.
static.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
mx1.rstudio.com mx1.rstudio.com IN 60 CNAME rstudio.wpengine.com.
mx1.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
ns3.rstudio.com ns3.rstudio.com IN 59 CNAME rstudio.wpengine.com.
ns3.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
dev.rstudio.com dev.rstudio.com IN 59 CNAME rstudio.wpengine.com.
dev.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
ns1.rstudio.com ns1.rstudio.com IN 60 CNAME rstudio.wpengine.com.
ns1.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
www.rstudio.com www.rstudio.com IN 3600 CNAME rstudio.wpengine.com.
www.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
staging.rstudio.com staging.rstudio.com IN 299 CNAME www.rstudio.com.
staging.rstudio.com www.rstudio.com IN 3599 CNAME rstudio.wpengine.com.
staging.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
news.rstudio.com news.rstudio.com IN 60 CNAME rstudio.wpengine.com.
news.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
ns2.rstudio.com ns2.rstudio.com IN 60 CNAME rstudio.wpengine.com.
ns2.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
email.rstudio.com email.rstudio.com IN 60 CNAME rstudio.wpengine.com.
email.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
server.rstudio.com server.rstudio.com IN 60 CNAME rstudio.wpengine.com.
server.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
shop.rstudio.com shop.rstudio.com IN 60 CNAME rstudio.wpengine.com.
shop.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
crm.rstudio.com crm.rstudio.com IN 60 CNAME rstudio.wpengine.com.
crm.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
host.rstudio.com host.rstudio.com IN 59 CNAME rstudio.wpengine.com.
host.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
info.rstudio.com info.rstudio.com IN 3600 CNAME mkto-ab020217.com.
info.rstudio.com mkto-ab020217.com IN 300 A 199.15.213.48
web.rstudio.com web.rstudio.com IN 60 CNAME rstudio.wpengine.com.
web.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
portal.rstudio.com portal.rstudio.com IN 60 CNAME rstudio.wpengine.com.
portal.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
mx.rstudio.com mx.rstudio.com IN 60 CNAME rstudio.wpengine.com.
mx.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
mail1.rstudio.com mail1.rstudio.com IN 59 CNAME rstudio.wpengine.com.
mail1.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
webmail.rstudio.com webmail.rstudio.com IN 60 CNAME rstudio.wpengine.com.
webmail.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
api.rstudio.com api.rstudio.com IN 60 CNAME rstudio.wpengine.com.
api.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
help.rstudio.com help.rstudio.com IN 60 CNAME rstudio.wpengine.com.
help.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
secure.rstudio.com secure.rstudio.com IN 60 CNAME rstudio.wpengine.com.
secure.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
new.rstudio.com new.rstudio.com IN 60 CNAME rstudio.wpengine.com.
new.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
my.rstudio.com my.rstudio.com IN 59 CNAME rstudio.wpengine.com.
my.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
vps.rstudio.com vps.rstudio.com IN 59 CNAME rstudio.wpengine.com.
vps.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
smtp.rstudio.com smtp.rstudio.com IN 59 CNAME rstudio.wpengine.com.
smtp.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
demo.rstudio.com demo.rstudio.com IN 59 CNAME rstudio.wpengine.com.
demo.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
git.rstudio.com git.rstudio.com IN 60 CNAME rstudio.wpengine.com.
git.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
cdn.rstudio.com cdn.rstudio.com IN 59 CNAME rstudio.wpengine.com.
cdn.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
m.rstudio.com m.rstudio.com IN 60 CNAME rstudio.wpengine.com.
m.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
mail.rstudio.com mail.rstudio.com IN 3600 CNAME ghs.googlehosted.com.
mail.rstudio.com ghs.googlehosted.com IN 69 A 172.217.6.243
forum.rstudio.com forum.rstudio.com IN 59 CNAME rstudio.wpengine.com.
forum.rstudio.com rstudio.wpengine.com IN 119 A 104.196.200.5
box.rstudio.com box.rstudio.com IN 60 CNAME rstudio.wpengine.com.
box.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
home.rstudio.com home.rstudio.com IN 60 CNAME rstudio.wpengine.com.
home.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
chat.rstudio.com chat.rstudio.com IN 30 CNAME rstudio.wpengine.com.
chat.rstudio.com rstudio.wpengine.com IN 30 A 104.196.200.5
beta.rstudio.com beta.rstudio.com IN 60 CNAME rstudio.wpengine.com.
beta.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
ftp.rstudio.com ftp.rstudio.com IN 60 CNAME rstudio.wpengine.com.
ftp.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5
blog.rstudio.com blog.rstudio.com IN 300 CNAME rstudio-blog.netlify.com.
blog.rstudio.com rstudio-blog.netlify.com IN 20 A 35.198.30.40
server1.rstudio.com server1.rstudio.com IN 60 CNAME rstudio.wpengine.com.
server1.rstudio.com rstudio.wpengine.com IN 120 A 104.196.200.5