학교 과제로 DNS query 프로그래밍을 하고 있습니다...
client와 server가 있고
client는 사용자에게 dns server ip, query key, query type를 입력받아
dns server에 질의를 하고 그 응답을 다시 server에 보내 server에서 파일 출력을 하는 프로그램입니다.
다음은 헤더의 구조체 입니다...
typedef struct DNS_HEADER
{
unsigned short id; // identification number
unsigned short rd :1; // recursion desired
unsigned short tc :1; // truncated message
unsigned short aa :1; // authoritive answer
unsigned short opcode :1; // purpose of message
unsigned short qr :1; // query/response flag
unsigned short rcode :4; // response code
unsigned short cd :1; // checking disabled
unsigned short ad :1; // authenticated data
unsigned short z :1; // its z! reserved
unsigned short ra :1; // recursion available
unsigned short q_count; // number of question entries
unsigned short ans_count; // number of answer entries
unsigned short auth_count; // number of authority entries
unsigned short add_count; // number of resource entries
} DNS_HEADER_T;
구조체안의 비트 변수 rcode를 query 타입인 MX 또는 A나 NS로 설정하여
질의를 하고싶은데 몇으로 설정해야 MX인지 A인지 모르겠습니다...
혹 아시는 분이 계시다면 좀 가르쳐 주셨으면 합니다...