2014년 10월 26일 일요일

도메인을 IP주소로 변환하는 코드

#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>
//domain->ip
BOOL GetIPAddr(char *name,IN_ADDR *addr)
{
 HOSTENT *ptr = gethostbyname(name);
 if(ptr == NULL) return FALSE;
 memcpy(addr,ptr->h_addr,ptr->h_length);
 return TRUE;
}
//ip->domain
BOOL GetDomainName(IN_ADDR addr,char *name)
{
 HOSTENT *ptr = gethostbyaddr((char *)&addr,sizeof(addr),AF_INET);
 if(ptr == NULL) return FALSE;
 strcpy(name,ptr->h_name);
 return TRUE;
}
int main()
{
 WSADATA wsa;
 if(WSAStartup(MAKEWORD(2,2),&wsa)!= 0) return -1;
 IN_ADDR addr;
 if(GetIPAddr("kr.yahoo.com",&addr))
 {
  printf("IP 주소 : %s\n",inet_ntoa(addr));
  char name[256];
  if(GetDomainName(addr,name))
  {
   printf("도메인 이름 = %s\n",name);
  }
 }
 WSACleanup();
 return 0;

}

댓글 없음: