#include #include #include #include #include #include #include #include // peganome \par // peganome \par int main(int argc, char *argv[]) { char *host, **names, **addrs; struct hostent *hostinfo; // teste para pegar o nome if( argc == 1) { char myname[256]; gethostname(myname,255); host = myname; } else host = argv[1]; hostinfo = gethostbyname(host); if(!hostinfo) { printf("erro no gethostbyname()"); exit(1); } printf("Resultados do host %s:\n", host); printf("Nome: %s\n", hostinfo->h_name); printf("Aliases: \n"); names = hostinfo -> h_aliases; while(*names) { printf(" %s\n", *names); names++; } if(hostinfo->h_addrtype != AF_INET ){ printf("Não é um servidor IP"); exit(1); } addrs = hostinfo->h_addr_list; while(*addrs) { printf("Número IP: %s" , inet_ntoa(*(struct in_addr *) *addrs)); addrs++; } printf("\n"); exit(0); }