Я смотрю на этот пример адаптивного портала, построенного на платформе NodeMCU, и я Я пытаюсь понять, как работают DNS-запросы. (Соответствующий файл - dns-liar.lua
) Я более или менее расшифровал ответ, но понятия не имею, что делает каждая его часть, и я не могу найти какие-либо онлайн-ресурсы, демонстрирующие подобную структуру пакета.
IP-адрес NodeMCU:
a.b.c.d
Запрос:
|A|B| ... |(13th byte) \0 terminated string (str)| ...
Ответ: (байты, разделенные знаком "|")
|A|B|x80|x00|x00|x01|x00|x01|x00|x00|x00|x00|str|x00|x01|x00|x01|xC0|x0C|x00|x01|x00|x01|x00|x00|x03|x00|x00|x04|a|b|c|d|
Я понимаю, что str
, скорее всего, является доменом для поиска, а abcd
— это просто NodeMCU, отвечающий на каждый запрос своим собственным IP-адресом, но я не уверен, что делают другие байты.