# This file was generated by Rcpp::compileAttributes
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
#' Returns the DNS A records for a given FQDN
#'
#' @param fqdn input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return vector or data frame (if \code{full}==\code{TRUE}) of A records or \code{character(0)} if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/} (cool DNS A hacks vla \url{https://twitter.com/habbie/status/460067198586081280})
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' ## single address return
#' resolv_a("etsy.com")
#' [1] "38.106.64.123"
#'
#' ## multiple address returns
#' resolv_a("google.com")
#' [1] "173.194.43.0" "173.194.43.1" "173.194.43.2" "173.194.43.3"
#' [5] "173.194.43.4" "173.194.43.5" "173.194.43.6" "173.194.43.7"
#' [9] "173.194.43.8" "173.194.43.9" "173.194.43.14"
#'
#' ## must put at least one DNS hack in
#' resolv_a("10.15.add.calc.postel.org", "dns.postel.org")
#' [1] "0.25.0.0"
#' }
resolv_a <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_a', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
#' Returns the DNS TXT records for a given FQDN
#'
#' @param fqdn input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return vector or data frame (if \code{full}==\code{TRUE}) of TXT records or \code{character(0)} if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/} (cool DNS TXT hacks vla \url{https://twitter.com/habbie/status/460067198586081280})
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' ## get the TXT record for Google
#' resolv_txt("google.com")
#' [1] "\"v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all\""
#'
#' ## Use Team CYMRU ASN TXT record lookup service
#' resolv_txt("31.108.90.216.origin.asn.cymru.com")
#' [1] "\"23028 | 216.90.108.0/24 | US | arin |\""
#'
#' ## Wikipedia lookups:
#' resolv_txt("bind.wp.dg.cx")
#' [1] "\"BIND , or named , is the most widely used DNS software on the Internet. On Unix-like operating systems it is the de facto standard. http://en.wikipedia.org/wiki/BIND\""
#'
#' ## seekrit URLs
#' browseURL(gsub("\"", "", resolv_txt("google-public-dns-a.google.com")))
#'
#' ## get the TXT records for PayPal
#' resolv_txt("paypal.com")
#' [1] "\"MS=ms96239109\""
#' [2] "\"yandex-verification: 73acb90f6a9abd76\""
#' [3] "\"google-site-verification=NrhK1Hj7KuCPua1OcvfacDawt46H9VjByS4IAw5vsFA\""
#' [4] "\"v=spf1 include:pp._spf.paypal.com include:3rdparty._spf.paypal.com include:3rdparty1._spf.paypal.com include:3rdparty2._spf.paypal.com include:3rdparty3._spf.paypal.com include:c._spf.ebay.com ~all\""
#' }
resolv_txt <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_txt', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
#' Returns the DNS MX records for a given domain
#'
#' @param fqdn input character vector (domain name)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return data frame of MX records (preference & exchange; +owner,class,ttl if \code{full}==\code{TRUE}) or an empty data frame if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/} (cool DNS MX hacks vla \url{https://twitter.com/habbie/status/460067198586081280})
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' resolv_mx("rudis.net", full=TRUE)
#' ## fqdn prefernece exchange owner class ttl
#' ## 1 rudis.net 1 aspmx.l.google.com. rudis.net. 1 599
#' ## 2 rudis.net 5 alt1.aspmx.l.google.com. rudis.net. 1 599
#' ## 3 rudis.net 5 alt2.aspmx.l.google.com. rudis.net. 1 599
#' ## 4 rudis.net 10 aspmx2.googlemail.com. rudis.net. 1 599
#' ## 5 rudis.net 10 aspmx3.googlemail.com. rudis.net. 1 599
#' ## 6 rudis.net 10 aspmx4.googlemail.com. rudis.net. 1 599
#' ## 7 rudis.net 10 aspmx5.googlemail.com. rudis.net. 1 599
#' ## 8 rudis.net 100 mx-caprica.easydns.com. rudis.net. 1 599
#' }
resolv_mx <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_mx', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
#' Returns the DNS CNAME records for a given FQDN
#'
#' @param fqdn input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return vector or data frame (if \code{full}==\code{TRUE}) of CNAME records or \code{character(0)} if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/}
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' resolv_cname("www.paypal.com")
#' [1] "www.paypal.com.akadns.net."
#' }
resolv_cname <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_cname', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
#' Returns the DNS NS records for a given FQDN
#'
#' @param fqdn input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return vector or data frame (if \code{full}==\code{TRUE}) of NS records or \code{character(0)} if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/}
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' resolv_ns("www.paypal.com")
#' }
resolv_ns <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_ns', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
#' Returns the DNS PTR records for a given IP address
#'
#' @param ip address input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return vector or data frame (if \code{full}==\code{TRUE}) of PTR records or \code{character(0)} if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/}
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#'
#' # where www.nasa.gov hosts
#' resolv_a("www.nasa.gov")
#' [1] "69.28.187.45" "208.111.161.110"
#'
#' resolv_ptr("69.28.187.45")
#' [1] "cds355.iad.llnw.net."
#'
#' ## big one - truncated output
#' resolv_ptr("17.149.160.49")
#' [1] "asto.re." "next.com."
#' [3] "qtml.com." "qttv.net."
#' [5] "apple.com." "apple.info."
#' [7] "ikids.com." "qt-tv.net."
#' [9] "carbon.com." "eworld.com."
#' ...
#' [131] "quicktimestreaming.net." "publishing-research.com."
#' [133] "publishing-research.org." "applefinalcutproworld.com."
#' [135] "applefinalcutproworld.net." "applefinalcutproworld.org."
#' }
resolv_ptr <- function(ip, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_ptr', PACKAGE = 'resolv', ip, nameserver, showWarnings, full)
}
#' Returns the DNS SRV records for a given FQDN
#'
#' @param fqdn input character vector (FQDN)
#' @param nameserver the nameserver to send the request to (optional; uses standard resolver behavior if not specified)
#' @param showWarnings display R warning messages (bool)
#' @param full include full record response information in results (bool)
#' @return data frame of SRV records (named fields; +owner,class,ttl if \code{full}==\code{TRUE}) or an empty list if none
#' @seealso \url{http://www.nlnetlabs.nl/projects/ldns/}
#' @seealso \url{http://www.cambus.net/interesting-dns-hacks/}
#' @export
#' @examples
#' \dontrun{
#' require(resolv)
#' library(plyr)
#'
#' ## google talk provides a good example for this
#' resolv_srv("_xmpp-server._tcp.gmail.com.", full=TRUE)
#' ## fqdn priority weight port target owner class ttl
#' ## 1 _xmpp-server._tcp.gmail.com. 5 0 5269 xmpp-server.l.google.com. _xmpp-server._tcp.gmail.com. 1 804
#' ## 2 _xmpp-server._tcp.gmail.com. 20 0 5269 alt1.xmpp-server.l.google.com. _xmpp-server._tcp.gmail.com. 1 804
#' ## 3 _xmpp-server._tcp.gmail.com. 20 0 5269 alt2.xmpp-server.l.google.com. _xmpp-server._tcp.gmail.com. 1 804
#' ## 4 _xmpp-server._tcp.gmail.com. 20 0 5269 alt3.xmpp-server.l.google.com. _xmpp-server._tcp.gmail.com. 1 804
#' ## 5 _xmpp-server._tcp.gmail.com. 20 0 5269 alt4.xmpp-server.l.google.com. _xmpp-server._tcp.gmail.com. 1 804
#' }
resolv_srv <- function(fqdn, nameserver = NA_character_, showWarnings = FALSE, full = FALSE) {
.Call('resolv_resolv_srv', PACKAGE = 'resolv', fqdn, nameserver, showWarnings, full)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.