自己构建dns请求,解析dns不是什么难事。n年前,我在内核就做过了。拷一段dns请求体
u_char dnsdata[] = {
/* HEADER */
0x4c, 0x42, /* ID */
0x01, 0x00, /* QR|OC|AA|TC|RD - RA|Z|RCODE */
0x00, 0x01, /* QDCOUNT */
0x00, 0x00, /* ANCOUNT */
0x00, 0x00, /* NSCOUNT */
0x00, 0x00, /* ARCOUNT */
4, 't','i','m','e',
7, 'w','i','n','d','o','w','s',
3, 'c','o','m',
0, /* QNAME */
0x00,0x01, /* QTYPE A record */
0x00,0x01 /* QCLASS: IN */
/* lookup root servers?, use this: */
/* 0x00, QNAME: empty */
/* 0x00, 0x02, QTYPE: a authorative name server */
/* 0x00, 0x01 QCLASS: IN */
}; |