获取 主机的信息

来源:互联网 发布:网络销售怎么找客户 编辑:程序博客网 时间:2024/05/17 07:01
#include <stdio.h>#include <netdb.h>#include <error.h>#include <string.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h> int main(int arg,char** argv){struct hostent *host,*host2;  if(NULL == (host = gethostbyname(argv[1]))){          herror("Error");          return 1;  }   printf("name = %s\n",host->h_name);  printf("aliases = %s\n",*host->h_aliases);  printf("add type = %d\n",host->h_addrtype);  printf("len = %d\n",host->h_length);  printf("IP=%s\n",inet_ntoa(*(struct in_addr*)host->h_addr));printf("=================================\n");  struct in_addr maddr;  if(0 == inet_aton(argv[2],&maddr)){          return 0;  }  char* c = (char*)&maddr;  printf("org = %x.%x.%x.%x\n",*(c)&0xff,*(c+1)&0xff,*(c+2)&0xff,*(c+3)&0xff);  if(NULL == (host2 = gethostbyaddr(&maddr,4,2))){          printf("Error:%s\n",hstrerror(h_errno));          return 1;  }  printf("name = %s\n",host2->h_name);  printf("aliases = %s\n",*host2->h_aliases);  printf("add type = %d\n",host2->h_addrtype);  printf("len = %d\n",host2->h_length);  printf("IP=%s\n",inet_ntoa(*(struct in_addr*)host2->h_addr));  return 0;}
//测试 输入 ./gethostinfo www.baidu.com  127.0.0.1


原创粉丝点击