C/C++ Почему возвращается неверный тип DNS записи?

Я писал код получения различных dns записей с сервера, таких как TXT и NS, а не только A, но столкнулся с проблемой, что я указываю тип TXT(или любой другой), но почему-то всегда получаю NS сервер домена.

// Уже установлено UDP подключение к 1.1.1.1:53
char buf[128];
memset(buf, 0, 128);
// Стандартные заполнения полей таких как количество вопросов
buf[0] = 0x12; // Transaction ID
buf[2] = 0x01; // Recursion Desired
buf[5] = 0x01; // 1 question
// Доменное имя в формате QName, www.example.com -> 3www7example3com0
int nameLen = strlen(domain);
char domainCpy[nameLen+1];
int lblLen = 0;
for (int nameLenCpy = nameLen; nameLenCpy != 0; nameLenCpy--) {
    if (nameLenCpy == 1) {domainCpy[nameLenCpy-1] = 0x00 + lblLen; break;}
    if (*(domain+nameLenCpy-1) == '.') {
        domainCpy[nameLenCpy-1] = 0x00 + lblLen;
        lblLen = 0;
        continue;
    }
    domainCpy[nameLenCpy-1] = domain[nameLenCpy-1];
    lblLen++;
}
// копирование QName в буффер
strcpy(buf+12, domainCpy);
int pos = nameLen + 12;
buf[pos] = 0x00; // end of string
// остаточные поля такие как тип запроса
buf[pos+1] = 0x00; // 1 byte TYPE
buf[pos+2] = 0x10; // 2 byte TYPE
buf[pos+3] = 0x00; // CLASS 1 byte
buf[pos+4] = 0x01; // CLASS 2 byte - IN
send_net(conn, buf, pos+5); // отправка запроса

и я получаю всегда независимо от типа запроса и домена zone.ns.cloudflare.com(и подобные NS сервера), в чём проблема?

// Чтение запроса. Вроде тут проблем быть не должно
memset(buf, 0, 128);
recv_net(conn, buf, 128);
uint16_t answer_start = 12 + strlen(buf+12) + 5 + 12; // пропуск заголовка
uint16_t labelLen = 0;
int32_t p = -1;
while (1) {
    labelLen = buf[answer_start];
    if (labelLen == 0) {break;}
        answer_start++;
        p++;
        for (int i = 0; i<labelLen; i++) {
            *(output+p) = buf[answer_start+i]; // запись в буффер результата
        p++;
    }
    answer_start = answer_start + labelLen;
    if (buf[answer_start] != 0) {*(output+p) = '.';} // замена QName формата на обычный
}

Ответы (0 шт):