如何使用scapy模块发送请求并接受三个答案?

问题描述 投票:1回答:1

我正在尝试使用scapy模块向4.2.2.4服务器询问一些url IP地址。

大多数查询请求只能得到一个答案,可能有一个或多个IP地址。但“facebook.com”是不同的。服务器会给我三个答案,每个答案都有一个IP地址。

为什么会这样?如何在我的python程序中获得所有三个答案?我尝试了sr()和sr1()函数,但它们只得到一个答案。

我的代码:

from scapy.all import *
url = 'facebook.com'
server = '4.2.2.4'
result1, unanswer = sr(IP(dst=server) / UDP() / DNS(qd=DNSQR(qname=url, qtype='A', qclass='IN')))
result2 = sr1(IP(dst=server) / UDP() / DNS(qd=DNSQR(qname=url, qtype='A', qclass='IN')))

我得到的结果(部分答案):

\ \ \

| ### [DNS资源记录] ###

| rrname ='facebook.com。'

......

。 rdata ='173.252.103.64'

我通过wireshark获得的结果:

python python-3.x ip scapy
1个回答
1
投票

嗨,

您可以在multiple中使用sr()关键字参数:

sr([...], multiple=True)
© www.soinside.com 2019 - 2024. All rights reserved.