Получение TXT DNS записывает в Ruby

Я должен получить txt поле от записи DNS.
Там какой-либо рубиновый API должен сделать что-то вроде этого?

nslookup -q=txt xxxx.com
12
задан Nakilon 10 July 2014 в 09:33
поделиться

4 ответа

Попробуйте установить dnsruby gem.

Код активно поддерживается и используется в некоторых значительных производственных системах.

require 'rubygems'
require 'dnsruby'
include Dnsruby

# Use the system configured nameservers to run a query
res = Dnsruby::Resolver.new
ret = res.query("google.com", Types.TXT)
print ret.answer

(Код протестирован на MacOS X - печатает SPF-запись Google)

Смотрите также ответ @Alex, который является более идиоматичным Ruby - Алекс является автором dnsruby.

22
ответ дан 2 December 2019 в 03:16
поделиться

Или используйте систему ("nslookup -q = txt xxxx.com")

-3
ответ дан 2 December 2019 в 03:16
поделиться
require 'dnsruby'
Dnsruby::DNS.open {|dns|
  dns.each_resource("google.com", "TXT") {|rr| print rr}
    # or
  print dns.getresource("google.com", "TXT")}
}
7
ответ дан 2 December 2019 в 03:16
поделиться

Попробуйте Net::DNS gem.

Вот пример:

result = Net::DNS::Resolver.start("google.com", Net::DNS::TXT)
values = result.each_mx.map { |r| r.txt }
# "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all "

Дальнейшие инструкции по установке и использованию можно найти на странице Github по ссылке выше.

2
ответ дан 2 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: