我正试图从C中的DNS服务器获取MX记录.我的问题是,每当我调用sendto或recvfrom时,我都会收到Permission denied错误.(IDE - Xcode 4,Mac OS X Lion)到目前为止,我还没有在C中做过任何事情,但我需要这个来完成任务.来自http://www.binarytides.com/blog/dns-query-code-in-c-with-linux-sockets/的 "灵感" 到目前为止我的代码:
struct QUESTION
{
unsigned short qtype;
unsigned short qclass;
};
typedef struct
{
unsigned char *name;
struct QUESTION *ques;
} QUERY;
typedef struct
{
unsigned short type;
unsigned short _class;
unsigned int ttl;
unsigned short data_len;
} R_DATA;
int main(int argc, char *argv[])
{
int sockfd, i;
unsigned char buf[65536],*qname;
struct QUESTION *qinfo = NULL;
struct sockaddr_in dest;
struct dnsheader *dns = NULL;
sockfd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
dest.sin_family=AF_INET; …Run Code Online (Sandbox Code Playgroud)