[getdns-users] Using EDNS and ECS in Getdns query

supraja sridhar suprajasridhar95 at gmail.com
Fri Feb 26 11:07:07 UTC 2021


Hi Willem,

Yes, this definitely helps. I am trying to use the C APIs to achieve the
same. It will be helpful if you can provide a sample using the C APIs for
the same.

Thanks,
Supraja

On Fri, Feb 26, 2021 at 3:26 PM Willem Toorop <willem at nlnetlabs.nl> wrote:

> 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
> >
>


-- 
Regards,
S.SUPRAJA
MIT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.getdnsapi.net/pipermail/users/attachments/20210226/d101bbba/attachment.htm>


More information about the Users mailing list