= sample code = {{{~cpp /** request domain name thru ip address from DNS server eternalbleu 2006 03 23 **/ #include #include #include #include #include #include #include void error_handling(const char* message); int main(int argc, char ** argv) { struct hostent* host; struct sockaddr_in addr; int i; if (argc != 2) { printf("USAGE : %s \n", argv[0]); exit(1); } memset(&addr, 0, sizeof(addr)); addr.sin_addr.s_addr=inet_addr(argv[1]); host = gethostbyaddr((char*)&addr.sin_addr, 4, AF_INET); if(!host) error_handling("gethost... error"); printf("Officially name : %s \n\n", host->h_name); puts("Aliases ------"); for(i=0; host->h_aliases[i]; i++) { puts(host->h_aliases[i]); } printf("Address Type:$s\n", host->h_addrtype == AF_INET? "AF_INET":"AF_INET6"); puts("IP Address ------"); for(i=0; host->h_addr_list[i]; i++) { puts(inet_ntoa( *(struct in_addr*)host->h_addr_list[i])); } return 0; } void error_handling(const char* message) { fputs(message, stderr); fputc('\n', stderr); exit(1); } }}} 표준 BSD socket 을 이용한 소스. 리눅스에서 컴파일해야함. 대충 바꾸면 윈도우에서도 할 수 잇음.