[getdns-users] Using EDNS and ECS in Getdns query
Willem Toorop
willem at nlnetlabs.nl
Fri Feb 26 09:56:38 UTC 2021
Hi Supraja,
Here is an example of a query sending a ECS option (containing
185.49.140.0/22), a NSID option and a Client Cookie to an authoritative
server. Because it is an authoritative server, the Recursion Desired bit
is set to 0.
getdns_query -s @216.239.32.10 '{
header: { rd: 0 }
, add_opt_parameters:
{ options: [ { option_code: 3
, option_data: "" }
, { option_code: 8
, option_data: 0x00011600B9318C }
]
}
}' o-o.myaddr.l.google.com. TXT +edns_cookies
This authoritative (which is one of Google's b.t.w.) does not respond to
the NSID and COOKIE option, but it does return the ECS option in a TXT RR:
{
"answer_type": GETDNS_NAMETYPE_DNS,
"canonical_name": <bindata for o-o.myaddr.l.google.com.>,
"replies_full":
[
<bindata of 0x0c4384000001000200000001036f2d6f...>
],
"replies_tree":
[
{
"additional":
[
{
"do": 0,
"extended_rcode": 0,
"rdata":
{
"options":
[
{
"option_code": 8,
"option_data": <bindata of 0x00011616b9318c>
}
],
"rdata_raw": <bindata of 0x0008000700011616b9318c>
},
"type": GETDNS_RRTYPE_OPT,
"udp_payload_size": 512,
"version": 0,
"z": 0
}
],
"answer":
[
{
"class": GETDNS_RRCLASS_IN,
"name": <bindata for o-o.myaddr.l.google.com.>,
"rdata":
{
"rdata_raw": <bindata of 0x0d3138352e34392e3134312e3237>,
"txt_strings":
[
<bindata of "185.49.141.27">
]
},
"ttl": 60,
"type": GETDNS_RRTYPE_TXT
},
{
"class": GETDNS_RRCLASS_IN,
"name": <bindata for o-o.myaddr.l.google.com.>,
"rdata":
{
"rdata_raw": <bindata of 0x2365646e73302d636c69656e742d7375...>,
"txt_strings":
[
<bindata of "edns0-client-subnet 185.49.140.0"...>
]
},
"ttl": 60,
"type": GETDNS_RRTYPE_TXT
}
],
"answer_type": GETDNS_NAMETYPE_DNS,
"authority": [],
"canonical_name": <bindata for o-o.myaddr.l.google.com.>,
"header":
{
"aa": 1,
"ad": 0,
"ancount": 2,
"arcount": 1,
"cd": 0,
"id": 3139,
"nscount": 0,
"opcode": GETDNS_OPCODE_QUERY,
"qdcount": 1,
"qr": 1,
"ra": 0,
"rcode": GETDNS_RCODE_NOERROR,
"rd": 0,
"tc": 0,
"z": 0
},
"question":
{
"qclass": GETDNS_RRCLASS_IN,
"qname": <bindata for o-o.myaddr.l.google.com.>,
"qtype": GETDNS_RRTYPE_TXT
}
}
],
"status": GETDNS_RESPSTATUS_GOOD
}
Does this help you further?
Cheers,
-- Willem
Op 24-02-2021 om 19:49 schreef supraja sridhar via Users:
> Hi,
>
> I want to send ECS and a string in the EDNS field to a DNS resolver
> using a Getdns query.
>
> Following are the steps I am following to implement the same -
>
> A dict for opt parameters.
> A list for options.
> A dict for the ECS option and another one EDNS.
> Set the ECS options at index 0 in the options list and EDNS in the
> options list at index 1.
>
> But I see neither the ECS nor the EDNS option being set. It would be
> helpful if someone can share an example snippet to achieve the same.
>
> Thanks,
> Supraja
>
> _______________________________________________
> Users mailing list
> Users at lists.getdnsapi.net
> https://lists.getdnsapi.net/mailman/listinfo/users
>
More information about the Users
mailing list