В настоящее время я работаю над школьным проектом, который просит меня реализовать клиент DNS без использования каких-либо библиотечных функций.
Я дошел до того, что отправил запрос DNS и получил ответ.Я застреваю при разборе ответа.Я получаю ответ в массиве char * и хочу преобразовать его в какую-то значимую структуру, из которой я могу разобрать ответ.Я прошел RFC и прочитал о структуре пакета, но его реализация на C доставляет мне проблемы.
Может ли кто-нибудь дать мне какие-либо примеры на C или, может быть, на любом другом языке, который объясняет, как это делается.Или любая ссылка на книгу тоже подойдет.
Дополнительные сведения:
Итак, ниже приведены структуры, которые я использую.
struct result{
int type;
struct res_ip_cname ip_cname;
struct res_error error;
struct res_mx_ns mx_ns;
};
struct res_ip_cname{
char* lst;
int sec;
char* auth_flag;
};
struct res_error{
char * info;
};
struct res_mx_ns{
char * name;
unsigned short pref;
int sec;
char* auth_flag;
};
У меня есть буфер char * [], в котором я сохраняю ответ, который я получаю от сервера.И мне нужно извлечь информацию из этого буфера и заполнить результат структуры.
Спасибо, Чандер