我使用python2.6和scapy
。我的小程序在运行sr1
命令后,尝试打印DNS
、DNSQR
和DNSRR
层的响应细节。问题是从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:")
我也试着解决这个问题——几个小时后我发现这是一个已知的bug(pythonscappybug)
解决方法:
1)转到python文件夹,然后打开Lib\site packages\scapy\
2)打开文件pton_ntop.py公司到66号线(是的,相信我。。。不是运动员)
3)增加插座。返回后,行将如下所示: 返回插座(地址)
4)保存并关闭
5)删除文件pton_皮托普在
对我来说这很管用。。再见
相关问题 更多 >
编程相关推荐