# 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