/**********************************************************************************
**File: DNS.c
**Author: FreeKing
**Careated: August 11th
**Description: DNS服务中取得主机名称和IP地址(有待完善)
*************************************************************************************/
#include <netdb.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <errno.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
int main( int argc, char**argv)
{
struct hostent *h;
//监查命令行参数是否存在
if(argc != 2)
{
fprintf(stderr, "Please enter the serve's hostname!");
exit(1);
}
//取得主机信息
if( (h = gethostbyname(argv[1]) ) == NULL )
{
herror( "gethostbyname error!");
exit(1);
}
//列出程序取得的信息
printf( "Host name: %s/n", h->h_name );
printf( "IP Address: %s/n", inet_ntoa(* ((struct in_addr*)h->h_addr) ) );
return 0;
}