Hola Javi,

  Mil gracias por tu respuesta, hice las pruebas con wireshark, dig y mi pequeño programa.

  Te comento que la solicitud y las respuestas son idénticas, tanto en dig como en dnspython.., por lo menos es una mediana buena noticia.

  Lo único que deseo es ver los rrsig por registro..., nada que lo logro.


Gracias,


Alejandro,



On 8/25/20 10:18 AM, lasizoillo wrote:
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 (<alejandroacostaal...@gmail.com <mailto:alejandroacostaal...@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 <http://ietf.org>:

    Vía dig:

    ;; ANSWER SECTION:
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    SOA 5 2
    1800 20210817174325 20200817164614 40452 ietf.org
    <http://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 <http://ietf.org>.        1787    IN  RRSIG    NS 5 2
    1800 20210817174510 20200817164614 40452 ietf.org
    <http://ietf.org>.
    OVO1QWS/WmldpK0Ir7L/ALWQn/8ONP3PSp66/Uv0WlS5rugBoxSbOlug
    8c3CkRJTAzfDXGnUTg80k0o4n9G+Bfmg00dv3tIVc+fpmQpie9BoRFVo
    FkZ85+a0GNZYfdgKuRZDgtnhtJNSN8MHv1PRDZqG+TilvIfOLuu7q1EN
    9aJ5J/rpu8LwrJ+qYNgvxxu2UPd4JcQ4SFfyVawZSzfF5gIxhPozVGv2
    3mERB3sgEB8H1IJDlcdXjU1lWT5FVDufGX149UPGUNui30ra+FHYtjIS
    mkYNpjAJiYv6MY8h+jL7XIE61hhXlzwmr/Ygx3XPk7B4PkUehfWtaM7Y 6AWcCw==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    A 5 2 1800
    20210817174543 20200817164614 40452 ietf.org <http://ietf.org>.
    MlrNAlhBg4euHhdWL76IFZnTiPdiJxPG3eIo7sa6FfqO6v7jRKjLeyoF
    s5WO+G1D+B03UfLTpZ9vsil2IXp0+QqW2d305qY7erLbIytPEMaqT237
    yOw+i4aONpQwOU91sebxXGObwDwMcfBauDMoC5X4yXzQ3JalN3l4xnWN
    62h3FsxQQzRHRvFnCiJmmidlmL0o/8kish1dZN1kC1ZpXYiydPNEVCZ4
    R+0wLBY5EU6IJQkWWXZdYpJeUFHovpGqdsB+5gFBZoTi96b5wagGBgzT
    D+Ja3plUSRHuyba/7p1gdg+dK85zNYKJul2UYCbE5FkeLuUalJLT2hi2 eRGpfA==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    MX 5 2
    1800 20210817174547 20200817164614 40452 ietf.org
    <http://ietf.org>.
    KMUpIGlAmw5uSQbhTWDLLpUqE34k0Aa5UsHkigHnm8zKNbusXh2mf27L
    dQTCIToYRsTq8JyjTqBIpaCY15IQEDWxq8hVqEgGXd6/Ilz/p+wHZoVd
    J2h8VETOZvwcGoEvImItedT33Z5lQpCxgTdHGd9clt98kFTqlXNF3Bu7
    5JSddshmK8W2aFazUyfsHmxJwo/TwOZ521YoQJEbS99C/+O0qobZEdZd
    5Uyh5rWtTh3hHtF99g24Bp4Ym1tmSVYVO2bzLjEfauLO+PMn6bYn4Ilq
    8pVmRoSqfawXsy95sXRSi7VYP12H9/C1OhbwWvKquhSmm3vin0h/Vz8b 5JmUQw==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    TXT 5 2
    1800 20210817174548 20200817164614 40452 ietf.org
    <http://ietf.org>.
    TCoovJ+KIGyn6WAQlnLSUI2Y3o/SEI49R31yNiljE2aOiNlpycjFkP5V
    Z1QV9j7kinSopVgIVNLuVLGKzJPwQwxsCOBsI1PrjslkRHEHfbQELCws
    tLratFwEvJVBFGZTZgzdeAIi5h7myr+kFipm+h7WsBkW9u00fYjJB18a
    Hsiguw2HUfdaPtKl3TClDetHhZnOe5Wtqc1AR6RMnwE2+P3HS5nFNYO6
    Cxa3VNt14JieltUP/HG7W3LXAapvNL5e7R0gmIsIE/FZ6xBD7IA06dwK
    hC/6/9bNAMFZPGF4+luND2KBYd6zNnEPUbUDPtBv6/Dr+k6IahqkcFRz 8R++Wg==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    AAAA 5 2
    1800 20210817174604 20200817164614 40452 ietf.org
    <http://ietf.org>.
    e7HhqVt4SBkQRab12v7Msk+X8BU71rinUURIkloIpLrSNIgCWNOhQe8Z
    lfpwNymkPiC0sc5vYdHVCq4qtS4CQRJBT64J8PaK7s/R6Kh/5GBhPykD
    kx+4dBIrHSkPAZPRlst2L1H+2C3SfuXwYqcVo+hg4cY1sIywvo7Q6fe3
    fDpGfyFZHZdxy4uIE8tM7L4lCbS8rQ+xgWRFj/ksQdN+WNT0r9Gs7N3Z
    /yGcJt11Wlvvlr9/090qgqk9231EbiwiOrzCGSzS2hWlgpdfIJ9q7dPJ
    Hagmg8WC5SF05Hu7o99UE7CfV8JK+KFVj9rrPGDxTw9fa1noIeKLtJNS m4p+nA==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    NSEC 5 2
    1800 20210817174437 20200817164614 40452 ietf.org
    <http://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 <http://ietf.org>.        1787    IN  RRSIG    DNSKEY 5 2
    1800 20210817174257 20200817164614 45586 ietf.org
    <http://ietf.org>.
    KrWS1J30ZWBn2jBRwdStoqMO+Z8mBZkEei2qC0mTKstlT0JZhxb33omE
    IxHlIbuZZt+ZCbkwAAv4uXpJcJYdV6HezC61fn8spwctYE11AP2XPLxJ
    Ydna2LCq5qE++wDksDkYyaqY+HqIxVfVeeNJQcAXhd4dT+TeqGkSSEMq
    iorXAVPkxtW+U/B0hEapWc71MwYPRGxkReiuW99vICyLpKe1EBgTaW3H
    6VJpEKK3vaY8M5C49R4768TtP6aWBnS/2g2bvphO/jFPlw0r7yBGrlZ4
    lF95Ow021ff9eTZ2LDIsYfx4T3OwrMs2E4eMjo9IGqapwi+whZrDdrTF c+5NrQ==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    DNSKEY 5 2
    1800 20210817174454 20200817164614 40452 ietf.org
    <http://ietf.org>.
    NUsyWRv4URiXZf920o5Hrd+gFXjoNig0MHXhFFy52mcOJSzM0RpCzs3k
    4dqf7oYhdvF7ABVObar0iCJQSs51eU1IGpTDUIdlMVgPW8UeM8G5TW5A
    0RTWEebel3eCPel7S6EXSoiyzfaYh4UVOqg0TumYsaB/kDNJg3Gd9aaC
    tvEf+pb+xoABiu8eh0K2U4vURgNQJHzVXvJOfVaNj6HZk8l8PcDxVYhK
    9p34ZwAJLxq/AN4FmX9IH0RdqDTN33UOCOKJ1VgH98nNYPCqjfENtF80
    nT+qwG8Od1kSm9prBzTZT/2E/5QgT+MhbVuwHCDe2gy2j2Er1q/Vr60x tKH0SA==
    ietf.org <http://ietf.org>.        1787    IN  RRSIG    SPF 5 2
    1800 20210817174534 20200817164614 40452 ietf.org
    <http://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  <http://ietf.org>. 1720 IN RRSIG DNSKEY 5 2 1800 20210817174257 
20200817164614 45586ietf.org  <http://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  <http://ietf.org>. 1720 IN RRSIG DNSKEY 5 2 1800 20210817174454 
20200817164614 40452ietf.org  <http://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 <http://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 <http://dns.flags.DO>,4096)
      resolver.nameservers = ([name_server])

      try:
        response = resolver.query(domain_name, rdtype,
    dns.rdataclass.IN <http://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@python.org <mailto:Python-es@python.org>
    https://mail.python.org/mailman/listinfo/python-es


_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a