(nameserver, name, rdata, type="A", ttl=10)
Send a DNS add message to a nameserver for "name" to have a new "rdata"
dyndns_add(nameserver, name, rdata, type="A", ttl=10) -> result code (0=ok)

example: dyndns_add("ns1.toto.com", "dyn.toto.com", "127.0.0.1")
RFC2136
Send a DNS add message to a nameserver for "name" to have a new "rdata"
dyndns_add(nameserver, name, rdata, type="A", ttl=10) -> result code (0=ok)
Send a DNS add message to a nameserver for name to have a new rdata dyndns_add ( nameserver name rdata type = A ttl = 10 ) - > result code ( 0 = ok )
def dyndns_add(nameserver, name, rdata, type="A", ttl=10):
    """Send a DNS add message to a nameserver for "name" to have a new "rdata"
dyndns_add(nameserver, name, rdata, type="A", ttl=10) -> result code (0=ok)

example: dyndns_add("ns1.toto.com", "dyn.toto.com", "127.0.0.1")
RFC2136
"""
    zone = name[name.find(".")+1:]
    r=sr1(IP(dst=nameserver)/UDP()/DNS(opcode=5,
                                       qd=[DNSQR(qname=zone, qtype="SOA")],
                                       ns=[DNSRR(rrname=name, type="A",
                                                 ttl=ttl, rdata=rdata)]),
          verbose=0, timeout=5)
    if r and r.haslayer(DNS):
        return r.getlayer(DNS).rcode
    else:
        return -1
def dyndns_add ( nameserver , name , rdata , type = "A" , ttl = 10 ) : zone = name [ name . find ( "." ) + 1 : ] r = sr1 ( IP ( dst = nameserver ) / UDP ( ) / DNS ( opcode = 5 , qd = [ DNSQR ( qname = zone , qtype = "SOA" ) ] , ns = [ DNSRR ( rrname = name , type = "A" , ttl = ttl , rdata = rdata ) ] ) , verbose = 0 , timeout = 5 ) if r and r . haslayer ( DNS ) : return r . getlayer ( DNS ) . rcode else : return - 1