[Python] DNS request with scapy (Python)

Discussão em 'Python' iniciado por Stack, Julho 17, 2025.

  1. Stack

    Stack Membro Participativo

    I wrote a code that creates a dns packet and sends it. The packet simulates the nslookup -type=soa facebook.com 8.8.8.8 command for example. But for some reason I get a different answer from what the 'nslookup' command returns.

    my code dns server output: "a.ns.c10r.facebook.com"

    the dns server from nslookup -type=soa facebook.com 8.8.8.8 command: "a.ns.facebook.com"

    • my final goal is to get a site dns server so I would be able to get an authoritative answer for the site ip address with a dns packet.

    this is my code:

    from scapy.all import *
    from scapy.layers.dns import DNS, DNSQR
    from scapy.layers.inet import IP, UDP

    def main():
    dns_server_request = IP(dst='8.8.8.8') / UDP(dport=53) / DNS(rd=1, qd=DNSQR(qname='www.facebook.com', qtype='SOA'))
    ans = sr1(dns_server_request, verbose=0)
    ans.show()

    if __name__ == "__main__":
    main()


    someone know what am I doing wrong and how can I fix it?

    • (the dns server that my code is giving not working by the way)

    Continue reading...

Compartilhe esta Página