# File lib/dnstraverse/fingerprint.rb, line 149 def probe(ip, headerstr, query) @resolver.nameserver = ip @resolver.dnssec = false msg = Dnsruby::Message.new msg.header = fp2header(headerstr) msg.add_question(decode_query(query)) q = Queue.new @resolver.send_async(msg, q) id, result, error = q.pop ans = result || error return nil, FINGERPRINT_TIMEOUT if ans.is_a? Dnsruby::ResolvTimeout return nil, ans.to_s if ans.is_a? Exception return ans, nil end