Python - 使用 scapy 模块挖掘任何等价物
Python - dig ANY equivalent with scapy module
我想使用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
.
嗅探 dig
命令本身,看起来几乎一样,但它给了我一个正确的响应,而且它不会发送另一个 ICMP - Destination unreachable
数据包..这只有在用 scapy 发送时才会出现.
如果您需要更多信息,请随时询问。
也许有人可以帮我解决这个问题..
编辑:
可能发送 ICMP - Destination unreachable
数据包是因为 8.8.4.4
试图将响应发送到我的 sport
,但已关闭?但是为什么 dig
然后工作呢?!
获得了使用 scapy 的 Python 代码..
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 中,我们现在可以看到正确的响应:
Wireshark Screenshot
但我仍然收到 ICMP - Destination unreachable
数据包..
而且我不知道为什么..
我想使用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
.
嗅探 dig
命令本身,看起来几乎一样,但它给了我一个正确的响应,而且它不会发送另一个 ICMP - Destination unreachable
数据包..这只有在用 scapy 发送时才会出现.
如果您需要更多信息,请随时询问。 也许有人可以帮我解决这个问题..
编辑:
可能发送 ICMP - Destination unreachable
数据包是因为 8.8.4.4
试图将响应发送到我的 sport
,但已关闭?但是为什么 dig
然后工作呢?!
获得了使用 scapy 的 Python 代码..
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 中,我们现在可以看到正确的响应: Wireshark Screenshot
但我仍然收到 ICMP - Destination unreachable
数据包..
而且我不知道为什么..