我正在尝试使用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')))
我得到的结果(部分答案):
\ an \
| ### [DNS资源记录] ###
| rrname ='facebook.com。'
......
| rdata ='173.252.103.64'
wireshark的结果是:
答案 0 :(得分:1)
嗨,
您可以在sr()
中使用sr([...], multiple=True)
关键字参数:
different_locale