[Python-es] Obtener los registros DNS RRSIG

Alejandro Acosta alejandroacostaalamo en gmail.com
Mar Ago 25 08:24:38 EDT 2020


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


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200825/fa9a12d3/attachment.html>


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