httpx/examples/resolv/srv_record.rb
2023-05-25 16:37:22 +01:00

23 lines
591 B
Ruby

require "httpx"
host = "1.1.1.1"
port = 53
hostname = "google.com"
srv_hostname = "_https._tcp.#{hostname}"
record_type = Resolv::DNS::Resource::IN::SRV
addresses = nil
Resolv::DNS.open(nameserver: host) do |dns|
addresses = dns.getresources(srv_hostname, record_type)
end
# buffer = HTTPX::Resolver.encode_dns_query(hostname, type: record_type)
# io = UDPSocket.new(Socket::AF_INET)
# size = io.send(buffer.to_s, 0, Socket.sockaddr_in(port, host.to_s))
# data, _ = io.recvfrom(2048)
# addresses = HTTPX::Resolver.decode_dns_answer(data)
puts "(#{hostname}) addresses: #{addresses}"