Я анализирую пакеты DNS, используя scapy. Не все записи ответа DNS имеют все поля. Например, некоторые ответы не RDATA такПроверьте, существует ли поле в записи DNS с помощью scapy
answer = packet.an[0].rdata
приводит к ошибке:
AttributeError: rdata
Есть ли способ тестирования, чтобы увидеть, если RDATA поле существует в записи ответа? Я знаю, что вы можете проверить наличие слоев
if packet.haslayer(DNS):
<code>
так что вы не запрашиваете слои, которых не существует. Есть ли параллель для полей внутри слоев?