|
这个程序实际上就是利用gethostbyname()函数得到主机信息,然后打印出来就行了。
- #include<unistd.h>
- #include<netinet/in.h>
- #include<arpa/inet.h>
- #include<netdb.h>
- #include<stdio.h>
- int main( int argc, char *argv[])
- {
- struct hostent *hptr;
- //char *hostname;
- char **addr, **names;
-
- if(argc != 2) {
- printf("usage: a.out hostname\n");
- exit(1);
- }
-
- //'hostname = argv[1];
-
- if(hptr = gethostbyname(argv[1])) {
- printf("hostname:%s\n", hptr->h_name);
-
- names = hptr->h_aliases;
- while(*names) {
- printf("hostalias:%s\n", *names);
- ++names;
- }
-
- printf("address type:%d\n", hptr->h_addrtype);
- printf("address length:%d\n", hptr->h_length);
-
- addr = hptr->h_addr_list;
- while(*addr) {
- printf("address:%s\n", inet_ntoa(*(struct in_addr *)*addr));
- ++addr;
- }
- }
- exit(0);
- }
复制代码 |
|