Hola
Puedes usar la funcion gethostbyname que tiene como argumento un *char al que hay que meter la direccion de la que deseas obtener el host. Esta funcion devuelve un puntero a una estructura hostent que almacena toda la informacion del host
Estos son los prototipos de la funcion y de la estructura
#include <netdb.h>
struct hostent *gethostbyname(const char *name);
struct hostent
{
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
#define h_addr h_addr_list[0]
};
Y aca para que sirve cada dato de la estructura
h_name −− Nombre oficial de la máquina. h_aliases −− Un vector terminado en NULL de nombres alternativos de máquina.
h_addrtype −− Tipo de la dirección que se devuelve; usualmente AF_INET. ·
h_length −− La longitud de la dirección en bytes.
h_addr_list −− Un vector terminado en cero de direcciones de red de la máquina. Las direcciones siguen la Ordenación de bytes de la red.
h_addr −− La primera dirección de h_addr_list.
salu2