根据主机名获取主机Ip:
源程序analyname.c:
#include <stdio.h> #include <stdlib.h> #include <netdb.h>
int main(int argc,char** argv) { struct hostent *server_addr = NULL; char *pstr = NULL; int i = 0;
if(argc != 2) { printf("Userage :analyname host\n"); printf("Example :analyname \n"); exit(0); } server_addr = gethostbyname(argv[1]); if(NULL == server_addr) { printf("Can't Find The Server:%s\n",argv[1]); exit(0); } //name
printf("Name:%s\n",server_addr->h_name);
//alist name
pstr = server_addr->h_aliases[i]; for(i=0; pstr=server_addr->h_aliases[i],pstr;i++) printf("Aliase%-2d:%s\n",i,pstr);
// ip address
for(i=0; pstr=server_addr->h_addr_list[i]; i++) printf("Address%-2d:%s\n",i,inet_ntoa((*(struct in_addr*)pstr))); return 0; }
|
编译:
gcc -g -o analyname analyname.c
执行:
./analyname
阅读(888) | 评论(0) | 转发(0) |