Python - 挖掘任何等效的 scapy 模块



我想使用 python 模块 scapy 来执行等效的命令

dig ANY google.com @8.8.4.4 +notcp

我做了一个简单的示例代码:

from scapy.all import *
a = sr(IP(dst="8.8.4.4")/UDP(sport=RandShort(),dport=53)/DNS(qd=DNSQR(qname="google.com",qtype="ALL",qclass="IN")))
print str(a[0])

它发送和接收数据包,但是当我嗅到数据包时,响应说Server failure.

Wireshark截图 - scapy

Wireshark截图 - 挖掘

嗅探dig命令本身,看起来几乎相同,但它给了我一个正确的响应,而且它不会发送另一个ICMP - Destination unreachable数据包..这仅在使用scapy发送时出现。

如果您需要更多信息,请随时询问。也许有人可以帮助我解决这个问题。

编辑:

也许发送ICMP - Destination unreachable数据包是因为8.8.4.4尝试将响应发送到我的sport,是否关闭?但是dig为什么要工作?!

让 Python 代码与 scapy 一起工作。

srp(Ether()/IP(src="192.168.1.101",dst="8.8.8.8")/UDP(sport=RandShort(),dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com",qtype="ALL",qclass="IN"),ar=DNSRROPT(rclass=3000)),timeout=1,verbose=0)

在 Wireshark 中,我们现在可以看到正确的响应:线鲨截图

但我仍然收到ICMP - Destination unreachable包。我不知道为什么..

相关内容

  • 没有找到相关文章

最新更新