[Python-es] Obtener los registros DNS RRSIG

lasizoillo lasizoillo en gmail.com
Mar Ago 25 10:18:51 EDT 2020


Buenas,

O bien no estás haciendo la misma petición que hace dig (podrías
comprobarlo con un sniffer como wireshark viendo la diferencia de las
requests de dig y dnspython) o bien dnspython está filtrando las entradas
RSIG que no son de tipo DNSKEY a pesar de que se devuelvan en la petición
(que con pdb u otro depurador ejecutando paso a paso la query podrías
verlo). Si es algo que te falta a la hora de hacer la query, cuando sepas
lo que es va a ser fácil de encontrar. Si es algo que está filtrando
dnspython porque si igual te da más guerra, pero siempre quedará la opción
de usar scapy o struct para montar la petición, aunque struct es demasiado
jarto.

Siento no poder ayudarte más. Pero pegarte con dnspython es la tipica cosa
que me toca hacer una vez cada porrón de años.

Un saludo,

Javi

El mar., 25 ago. 2020 a las 14:25, Alejandro Acosta (<
alejandroacostaalamo en gmail.com>) escribió:

> Hola lista, muy buenos días,
>
>   Espero puedan ayudarme.
>
>   Quiero obtener los registro RRSIG de algunos dominios pero no lo logro a
> la perfección. ¿Cual es el problema?, la librería dnspython no me muestra
> todos los rrsig.
>
>   Ejemplo, utilicemos el dominio ietf.org:
>
> Vía dig:
>
> ;; ANSWER SECTION:
> ietf.org.        1787    IN    RRSIG    SOA 5 2 1800 20210817174325
> 20200817164614 40452 ietf.org.
> QoubcalPlW2mj1rkqtbniLW86IXOAA9oSM5C1Eqdfr8py2FfL+84Byi0
> xryrXk3d7tbgUIRcDFoRVZ3lxQvOM9gevZZckgoCw4/Tm23Lo/4g7yF4
> t7M7CdbYuJ10y+flnN4mR+NVK93FF/z1+an/IaiB2F4QX9JrHln57KTv
> WHRN7J0DoxNizicbfChfCwfJPAAVki6FTgGy1FCrHdf8YdPqL6uh/hLt
> K4Cm/ZG/S6U+wIBY3q3byhl99Q2IeuRXtDBv/6uZhsP0x9Jxnhr6454x
> 6CyJMA8sDLNaT+iJX6f6qOAFTjqDDJ6FSwpgnHfn5Hc5CQtoNA0lsxDb h+dr+g==
> ietf.org.        1787    IN    RRSIG    NS 5 2 1800 20210817174510
> 20200817164614 40452 ietf.org.
> OVO1QWS/WmldpK0Ir7L/ALWQn/8ONP3PSp66/Uv0WlS5rugBoxSbOlug
> 8c3CkRJTAzfDXGnUTg80k0o4n9G+Bfmg00dv3tIVc+fpmQpie9BoRFVo
> FkZ85+a0GNZYfdgKuRZDgtnhtJNSN8MHv1PRDZqG+TilvIfOLuu7q1EN
> 9aJ5J/rpu8LwrJ+qYNgvxxu2UPd4JcQ4SFfyVawZSzfF5gIxhPozVGv2
> 3mERB3sgEB8H1IJDlcdXjU1lWT5FVDufGX149UPGUNui30ra+FHYtjIS
> mkYNpjAJiYv6MY8h+jL7XIE61hhXlzwmr/Ygx3XPk7B4PkUehfWtaM7Y 6AWcCw==
> ietf.org.        1787    IN    RRSIG    A 5 2 1800 20210817174543
> 20200817164614 40452 ietf.org.
> MlrNAlhBg4euHhdWL76IFZnTiPdiJxPG3eIo7sa6FfqO6v7jRKjLeyoF
> s5WO+G1D+B03UfLTpZ9vsil2IXp0+QqW2d305qY7erLbIytPEMaqT237
> yOw+i4aONpQwOU91sebxXGObwDwMcfBauDMoC5X4yXzQ3JalN3l4xnWN
> 62h3FsxQQzRHRvFnCiJmmidlmL0o/8kish1dZN1kC1ZpXYiydPNEVCZ4
> R+0wLBY5EU6IJQkWWXZdYpJeUFHovpGqdsB+5gFBZoTi96b5wagGBgzT
> D+Ja3plUSRHuyba/7p1gdg+dK85zNYKJul2UYCbE5FkeLuUalJLT2hi2 eRGpfA==
> ietf.org.        1787    IN    RRSIG    MX 5 2 1800 20210817174547
> 20200817164614 40452 ietf.org.
> KMUpIGlAmw5uSQbhTWDLLpUqE34k0Aa5UsHkigHnm8zKNbusXh2mf27L
> dQTCIToYRsTq8JyjTqBIpaCY15IQEDWxq8hVqEgGXd6/Ilz/p+wHZoVd
> J2h8VETOZvwcGoEvImItedT33Z5lQpCxgTdHGd9clt98kFTqlXNF3Bu7
> 5JSddshmK8W2aFazUyfsHmxJwo/TwOZ521YoQJEbS99C/+O0qobZEdZd
> 5Uyh5rWtTh3hHtF99g24Bp4Ym1tmSVYVO2bzLjEfauLO+PMn6bYn4Ilq
> 8pVmRoSqfawXsy95sXRSi7VYP12H9/C1OhbwWvKquhSmm3vin0h/Vz8b 5JmUQw==
> ietf.org.        1787    IN    RRSIG    TXT 5 2 1800 20210817174548
> 20200817164614 40452 ietf.org.
> TCoovJ+KIGyn6WAQlnLSUI2Y3o/SEI49R31yNiljE2aOiNlpycjFkP5V
> Z1QV9j7kinSopVgIVNLuVLGKzJPwQwxsCOBsI1PrjslkRHEHfbQELCws
> tLratFwEvJVBFGZTZgzdeAIi5h7myr+kFipm+h7WsBkW9u00fYjJB18a
> Hsiguw2HUfdaPtKl3TClDetHhZnOe5Wtqc1AR6RMnwE2+P3HS5nFNYO6
> Cxa3VNt14JieltUP/HG7W3LXAapvNL5e7R0gmIsIE/FZ6xBD7IA06dwK
> hC/6/9bNAMFZPGF4+luND2KBYd6zNnEPUbUDPtBv6/Dr+k6IahqkcFRz 8R++Wg==
> ietf.org.        1787    IN    RRSIG    AAAA 5 2 1800 20210817174604
> 20200817164614 40452 ietf.org.
> e7HhqVt4SBkQRab12v7Msk+X8BU71rinUURIkloIpLrSNIgCWNOhQe8Z
> lfpwNymkPiC0sc5vYdHVCq4qtS4CQRJBT64J8PaK7s/R6Kh/5GBhPykD
> kx+4dBIrHSkPAZPRlst2L1H+2C3SfuXwYqcVo+hg4cY1sIywvo7Q6fe3
> fDpGfyFZHZdxy4uIE8tM7L4lCbS8rQ+xgWRFj/ksQdN+WNT0r9Gs7N3Z
> /yGcJt11Wlvvlr9/090qgqk9231EbiwiOrzCGSzS2hWlgpdfIJ9q7dPJ
> Hagmg8WC5SF05Hu7o99UE7CfV8JK+KFVj9rrPGDxTw9fa1noIeKLtJNS m4p+nA==
> ietf.org.        1787    IN    RRSIG    NSEC 5 2 1800 20210817174437
> 20200817164614 40452 ietf.org.
> gO6O5uUxiwXGnK5itHzCkVoxnQdX4sWQMUI0HCg86E1+5UG15vJ0AEh7
> JooHN+lqwbZ7U6aZQXW4k4bpYWhogAkxq8eaWhseN+I94P2Wc4tmlAk2
> 5x6da0m8qA70V2Hy25C+4ard9f1A2ViK/+Nh2pmr/OdK+EOIVZuof1FQ
> tsUwHRuBUIh+inQwTtlFQH/2OBlbBpuv0MeWrO+oLmc5i+WoluCg9re9
> sAXDkseu5xUmxwqculiUAL/IqGAdhQGBL+P/7xZ7V697lLNEMNYyF6/c
> Z5I8D/Llr7Gd6j2oCbYs/Sj7sysMjOBhaiWdqosZrmFiChgrNxsrmnoW 0enu5g==
> ietf.org.        1787    IN    RRSIG    DNSKEY 5 2 1800 20210817174257
> 20200817164614 45586 ietf.org.
> KrWS1J30ZWBn2jBRwdStoqMO+Z8mBZkEei2qC0mTKstlT0JZhxb33omE
> IxHlIbuZZt+ZCbkwAAv4uXpJcJYdV6HezC61fn8spwctYE11AP2XPLxJ
> Ydna2LCq5qE++wDksDkYyaqY+HqIxVfVeeNJQcAXhd4dT+TeqGkSSEMq
> iorXAVPkxtW+U/B0hEapWc71MwYPRGxkReiuW99vICyLpKe1EBgTaW3H
> 6VJpEKK3vaY8M5C49R4768TtP6aWBnS/2g2bvphO/jFPlw0r7yBGrlZ4
> lF95Ow021ff9eTZ2LDIsYfx4T3OwrMs2E4eMjo9IGqapwi+whZrDdrTF c+5NrQ==
> ietf.org.        1787    IN    RRSIG    DNSKEY 5 2 1800 20210817174454
> 20200817164614 40452 ietf.org.
> NUsyWRv4URiXZf920o5Hrd+gFXjoNig0MHXhFFy52mcOJSzM0RpCzs3k
> 4dqf7oYhdvF7ABVObar0iCJQSs51eU1IGpTDUIdlMVgPW8UeM8G5TW5A
> 0RTWEebel3eCPel7S6EXSoiyzfaYh4UVOqg0TumYsaB/kDNJg3Gd9aaC
> tvEf+pb+xoABiu8eh0K2U4vURgNQJHzVXvJOfVaNj6HZk8l8PcDxVYhK
> 9p34ZwAJLxq/AN4FmX9IH0RdqDTN33UOCOKJ1VgH98nNYPCqjfENtF80
> nT+qwG8Od1kSm9prBzTZT/2E/5QgT+MhbVuwHCDe2gy2j2Er1q/Vr60x tKH0SA==
> ietf.org.        1787    IN    RRSIG    SPF 5 2 1800 20210817174534
> 20200817164614 40452 ietf.org.
> erTXZQfOy0kNKh+ZaYJQJu6fs/dnaUlfaILRu5B+fTWhtQ/jKvRKLb6/
> 2WWXq0knDF9pIx2EIn2/tNwIpPntragmgv2yeM0vAF05/ZwoWab52VHM
> vK0ekBPP0HZMUCEhqAWrhVG9qnOzcpIZ0KOrnheI3jcz9fdWLujtYE1t
> vN591i4j+UNbp0Inob65GBUIXzPEhYZxXTireNcbUeAxf/Y2hGg4EMHw
> 41I+g+IfTAr1Ykat1AJ0MqcP/MAd+RKJW83absfLlGNp4E3HihulNvbi
> TKcp/fsjUeoTQ6rIXQn+5D86Kv3kYVg93JuaY9RgPZqP9LaNmaa6obQq ejHl
>
>
>
> Vía dnspython:
>
> ietf.org. 1720 IN RRSIG DNSKEY 5 2 1800 20210817174257 20200817164614 45586 ietf.org. KrWS1J30ZWBn2jBRwdStoqMO+Z8mBZkE ei2qC0mTKstlT0JZhxb33omEIxHlIbuZ Zt+ZCbkwAAv4uXpJcJYdV6HezC61fn8s pwctYE11AP2XPLxJYdna2LCq5qE++wDk sDkYyaqY+HqIxVfVeeNJQcAXhd4dT+Te qGkSSEMqiorXAVPkxtW+U/B0hEapWc71 MwYPRGxkReiuW99vICyLpKe1EBgTaW3H 6VJpEKK3vaY8M5C49R4768TtP6aWBnS/ 2g2bvphO/jFPlw0r7yBGrlZ4lF95Ow02 1ff9eTZ2LDIsYfx4T3OwrMs2E4eMjo9I Gqapwi+whZrDdrTFc+5NrQ==ietf.org. 1720 IN RRSIG DNSKEY 5 2 1800 20210817174454 20200817164614 40452 ietf.org. NUsyWRv4URiXZf920o5Hrd+gFXjoNig0 MHXhFFy52mcOJSzM0RpCzs3k4dqf7oYh dvF7ABVObar0iCJQSs51eU1IGpTDUIdl MVgPW8UeM8G5TW5A0RTWEebel3eCPel7 S6EXSoiyzfaYh4UVOqg0TumYsaB/kDNJ g3Gd9aaCtvEf+pb+xoABiu8eh0K2U4vU RgNQJHzVXvJOfVaNj6HZk8l8PcDxVYhK 9p34ZwAJLxq/AN4FmX9IH0RdqDTN33UO COKJ1VgH98nNYPCqjfENtF80nT+qwG8O d1kSm9prBzTZT/2E/5QgT+MhbVuwHCDe 2gy2j2Er1q/Vr60xtKH0SA==
>
>     Miren la diferencia, vía dnspython solo son dos registros.
>
>
> Si soy más simplista e intento:
>
> import dns.resolver
> answers = dns.resolver.query('ietf.org', ’RRSIG’)
> for rdata in answers:
>     print(rdata)
>
>
>   No trae nada (que tendría lógica porque tecnicamente RRSIG no son
> registros DNS).
>
>
>   El código que estoy usando (que no sirve) es:
>
>
>   import dns.flags
>   import dns.resolver
>   import dns.rdatatype
>   import dns.rdataclass
>   name_server = '8.8.8.8'
>   response='' #let's reset this
>   domain_name = FQDNorDOMAIN
>   rdtype = dns.rdatatype.DNSKEY
>   resolver = dns.resolver.Resolver()
>   resolver.use_edns(0,dns.flags.DO,4096)
>   resolver.nameservers = ([name_server])
>
>   try:
>     response = resolver.query(domain_name, rdtype, dns.rdataclass.IN,
> True).response
>     answer=str(response).splitlines( )
>     for line in answer:
>       if 'RRSIG' in line: print (line)
>
>   except Exception:
>     print ('NX domain')
>
>
>    ¿Que podría hacer para traer los registros RRSIG de los nombres de
> dominio?
>
>    Muchas gracias,
>
>
> Alejandro,
>
> P.D. Ejecutar dig y parsearlo no es válido :-(.., sorry
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200825/dce289f1/attachment.html>


Más información sobre la lista de distribución Python-es