没有使用python2.6中scapy的DNS层

2024-09-28 20:52:01 发布

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

我使用python2.6和scapy。我的小程序在运行sr1命令后,尝试打印DNSDNSQRDNSRR层的响应细节。问题是从sr1命令返回的包不包括这些层,而是包含UDP层之上的原始层。在

另一方面,我创建的DNS包(在代码中-dns_packet)包括所有这些层!!!在

问题是-为什么我不从sr1命令中获取这些层(而且只有原始层)?如何从sr1命令获取这些层(例如为了打印DNSRR.rdata)?在

感谢你的回应,谢谢你和最诚挚的问候,艾尔达。在

这是我的代码:

from scapy.all import *

host_name = raw_input("please enter host name:")

while host_name != "exit":

    print host_name

    dns_packet = IP(dst='8.8.8.8')/UDP(sport=24601,dport=53)/DNS(qdcount=1,qd=DNSQR(qname=host_name))

    print dns_packet.show()

    response_packet = sr1(dns_packet)

    print response_packet.show()

    host_name = raw_input("please enter host name:")

Tags: 代码name命令hostinputrawpacketdns
1条回答
网友
1楼 · 发布于 2024-09-28 20:52:01

我也试着解决这个问题——几个小时后我发现这是一个已知的bug(pythonscappybug)

解决方法:

1)转到python文件夹,然后打开Lib\site packages\scapy\

2)打开文件pton_ntop.py公司到66号线(是的,相信我。。。不是运动员)

3)增加插座。返回后,行将如下所示: 返回插座(地址)

4)保存并关闭

5)删除文件pton_皮托普在

对我来说这很管用。。再见

相关问题 更多 >