The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de Alto Nivel
.
google unix.com



Programación de Alto Nivel Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Dirección IP de la máquina harneet2004us UNIX para usuarios avanzados y expertos 3 04-16-2008 05:54 PM
Obtener dirección IP de la máquina Unix asutoshch Programación de scripts de shell y 6 04-30-2006 09:14 AM
cómo recuperar la dirección IP de una máquina Mridula Redes IP 5 11-02-2005 09:21 AM
Restringir el acceso a una máquina de dirección IP parche UNIX for Dummies Preguntas y Respuestas 2 10-20-2003 03:46 PM
Cambio de dirección IP de la máquina kkinnon UNIX para usuarios avanzados y expertos 7 08-27-2002 03:17 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 08-25-2003
Ahsan Ahsan is offline
Usuario Registrado
  
 

Fecha: agosto 2003
Ubicación: Australia
Mensajes: 9
Question ¿Cómo obtener la dirección IP de la máquina?

¿Hay alguna llamada a la API para obtener la dirección IP de la máquina? Sé que es la función que devuelve el nombre de la máquina, gethostname (). Pero necesito el período de investigación.

Gracias y Saludos,
Ahsan
  #2 (Enlace permanente)  
Old 08-25-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.124
Ver gethostbyname ()
  #3 (Enlace permanente)  
Old 10-10-2003
DreamWarrior DreamWarrior is offline
Usuario Registrado
  
 

Fecha: octubre 2003
Puestos: 70
chichón

Oye, ¿podría ser un poco más específico en este caso. He leído la página del manual para gethostbyname y parece estar regresando un formato genérico de direcciones internas. Que debe convertirse en un punto de notación dirección IP, y no sé cómo hacerlo.

Además, para ampliar esto un poco, es posible obtener la información a partir de un descriptor de archivo que es un socket. Es decir, si la única pieza de información que tengo sobre la conexión es el descriptor de archivo, puede obtener la estructura sockaddr_in de que para pasar a continuación a gethostbyname convertir en un IP?

Gracias!
  #4 (Enlace permanente)  
Old 10-12-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.124
Re: golpe

Cita:
Originalmente publicado por DreamWarrior
Oye, ¿podría ser un poco más específico en este caso. He leído la página del manual para gethostbyname y parece estar regresando un formato genérico de direcciones internas. Que debe convertirse en un punto de notación dirección IP, y no sé cómo hacerlo.
La mejor solución para cosas como esta es para navegar por algunos de código fuente. Hay un montón de código fuente en Internet. Y hay varios programas que el formato de direcciones IP. Pero yo estoy atrapado en la oficina en espera de una tecnología, y no tengo nada mejor que hacer, así que ...
Código:
#ifdef __STDC__
#define PROTOTYPICAL
#endif
#ifdef __cplusplus
#define PROTOTYPICAL
#endif

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <netdb.h>
#include <arpa/inet.h>


#ifdef PROTOTYPICAL
int main(int argc, char *argv[])
#else
main(argc,argv)
char *argv[];
#endif
{
	char *mess;
	struct hostent *hp;
	int dumpall;

	dumpall=0;
	while(*++argv) {
		if(!strcmp(*argv,(char *)"-d")) {
			dumpall=!dumpall;
			continue;
		}
		/*
		 *  Call gethostbyname for current argument
		 */
		if(! (hp = gethostbyname(*argv))) {
			switch(h_errno){
					case HOST_NOT_FOUND:  
						mess=(char *)"Not Found";
						break;
					case TRY_AGAIN:  
						mess=(char *)"Time Out";
						break;
					case NO_RECOVERY:  
						mess=(char *)"No Recovery";
						break;
					case NO_ADDRESS:  
						mess=(char *)"No Address";
						break;
					default: 
						mess=(char *)"unknown error";
						break;
			}
			printf("%s  %s\n", *argv, mess);

		} else {
			printf("%s  %s  %s \n", *argv, hp->h_name,
				inet_ntoa(*(struct in_addr *)(hp->h_addr)));
			if(dumpall) {
				printf("  addresses:\n");
				while(*(hp->h_addr_list)){
					printf("      %s \n", 
						inet_ntoa(*(struct in_addr *)*(hp->h_addr_list)++));
				}
				printf("  aliases:\n");
				while(*(hp->h_aliases)){
					printf("      %s \n",*(hp->h_aliases)++);
				} 
			}
		}
	}
	exit(0);
}
Esto debería funcionar con cualquier C o C + + compilador. Pero yo sólo probado en HP-UX.

Cita:
Originalmente publicado por DreamWarrior

Además, para ampliar esto un poco, es posible obtener la información a partir de un descriptor de archivo que es un socket. Es decir, si la única pieza de información que tengo sobre la conexión es el descriptor de archivo, puede obtener la estructura sockaddr_in de que para pasar a continuación a gethostbyname convertir en un IP?

Gracias!
Yow! Tenemos tiempo de respuesta de 4 horas.

No se puede hacer que portably y normalmente requiere que el poder de root. Mira el código fuente de lsof. Que hace cosas por el estilo.

Pero todos los zócalos de las estructuras de dirección IP no almacenar los nombres de dominio
  #5 (Enlace permanente)  
Old 10-16-2003
DreamWarrior DreamWarrior is offline
Usuario Registrado
  
 

Fecha: octubre 2003
Puestos: 70
Maldición, la inet_ntoa no funcionará. Quiero por lo menos ser capaz de obtener el período de investigación después de una llamada a aceptar en el zócalo .... Voy a ir a buscar, a menos que todos se aburren y me puede ayudar a cabo. Si me encuentran nada, voy a publicar hasta que ... tan mal que nadie por aquí como un buen libro de TCP para Unix.

BTW, sólo por curiosidad, estás en Rockville y la utilización de las máquinas HP-UX, cualquier oportunidad de estar en un contrato de la FAA?

Última edición por DreamWarrior; al 10-16-2003 11:09 AM..
  #6 (Enlace permanente)  
Old 10-16-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.124
¿Por qué no inet_ntoa trabajo? Parece que funciona cada vez que lo intente. Publicar el código, tal vez yo o alguien más se verá algo. Y hay decenas de servidores con el código fuente disponible para que usted encuentre en Internet. La mayoría están en condiciones de registro de direcciones IP cliente.

El mejor libro es la red de programación Red de Programación UNIX por Rich Stevens.

Voy a hacer caso omiso de su búsqueda para obtener más pistas de mi identidad.
  #7 (Enlace permanente)  
Old 10-23-2003
ComPlayer ComPlayer is offline
Usuario Registrado
  
 

Fecha: octubre 2003
Publicaciones: 2
es tan difícil de leer su code.hehe fuente.
¿Qué debo hacer para que mi primer paso de aprendizaje de programación C red?
tal vez no es fácil de responder.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 05:29 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0