Я использую Python 2.6 с scapy
. Моя маленькая программа пытается распечатать ответные данные слоев DNS
, DNSQR
и DNSRR
после выполнения команды sr1
. Проблема в том, что пакет, возвращаемый командой sr1
, не включает эти уровни, а вместо этого включает необработанный слой над уровнем UDP
.
С другой стороны, созданный мной пакет DNS
(в коде - dns_packet
) включает в себя все эти слои!!!
Вопрос в том, почему я не получаю эти слои (и только слой Raw) из команды 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:")
DNS
. Не могли бы вы обновить свой вопрос, чтобы показать, что именно вы получаете вresponse_packet
? - person Yoel   schedule 18.10.2014