Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: patilanz en 10 Enero 2015, 17:03 pm



Título: Conseguir local ip ethernet
Publicado por: patilanz en 10 Enero 2015, 17:03 pm
Hola estoy intentando conseguir el local ip de mi red con la que estoy conectado para hacer una petición arp. Lo intento con GetAdaptersInfo o GetAdaptersAddresses  o gethostbyname.
Pero ninguno me sirve. Bueno consigo la ip pero no se la manera de saber si es la ip correcta. Si lo imprimo por la descripción pero dependiendo del pc sera diferente.

Saludos


Título: Re: Conseguir local ip ethernet
Publicado por: engel lex en 10 Enero 2015, 18:59 pm
como que no sabes si es la correcta?


Título: Re: Conseguir local ip ethernet
Publicado por: MeCraniDOS en 10 Enero 2015, 19:02 pm
Hola estoy intentando conseguir el local ip de mi red con la que estoy conectado para hacer una petición arp. Lo intento con GetAdaptersInfo o GetAdaptersAddresses  o gethostbyname.
Pero ninguno me sirve. Bueno consigo la ip pero no se la manera de saber si es la ip correcta. Si lo imprimo por la descripción pero dependiendo del pc sera diferente.

Saludos

Pon code y te podremos ayudar,

Saludos


Título: Re: Conseguir local ip ethernet
Publicado por: patilanz en 11 Enero 2015, 01:13 am
Con GetAdaptersAddresses no se obtener la ip:

Código
  1. ULONG family = AF_UNSPEC;
  2. IP_ADAPTER_ADDRESSES * adresses = 0;
  3. ULONG size;
  4. int ret = GetAdaptersAddresses(family, 0, 0, adresses, &size);
  5. if (ret != ERROR_BUFFER_OVERFLOW){
  6. cout << "Error";
  7. exit(1);
  8. }
  9. adresses = new IP_ADAPTER_ADDRESSES[size];
  10. ret = GetAdaptersAddresses(family, 0, 0, adresses, &size);
  11. if (ret == NO_ERROR){
  12. IP_ADAPTER_ADDRESSES * adress = adresses;
  13. while (adress){
  14. cout << adress->Description << endl;
  15. //Como obtengo la ip?
  16. adress = adress->Next;
  17. }
  18. }

Con IP_ADAPTER_INFO no se cual de todas las ipes es correcta:

Código
  1. IP_ADAPTER_INFO *info = 0;
  2. ULONG size;
  3. int ret = GetAdaptersInfo(info, &size);
  4. if (ret != ERROR_BUFFER_OVERFLOW){
  5. cout << "Error";
  6. exit(1);
  7. }
  8. info = new IP_ADAPTER_INFO[size];
  9. GetAdaptersInfo(info, &size);
  10. IP_ADAPTER_INFO *adapter = info;
  11. while (adapter){
  12. cout << adapter->IpAddressList.IpAddress.String << endl;
  13. adapter = adapter->Next;
  14. }
  15.  

La ip que busco es 192.168.1.6 que es la primera pero no creo que en todos los pc sera la primera.

Saludos


Título: Re: Conseguir local ip ethernet
Publicado por: engel lex en 11 Enero 2015, 01:17 am
cada adaptador tiene una descripción, puede acceder a ellas?


Título: Re: Conseguir local ip ethernet
Publicado por: patilanz en 11 Enero 2015, 01:34 am
Si pero son así:

Citar
192.168.1.6
Conexi¾n de red Gigabit Intel(R) 82578DC

192.168.56.1
VirtualBox Host-Only Ethernet Adapter

192.168.134.1
VMware Virtual Ethernet Adapter for VMnet

192.168.179.1
VMware Virtual Ethernet Adapter for VMnet

25.118.200.151
LogMeIn Hamachi Virtual Ethernet Adapter

Todos están con ethernet.


Título: Re: Conseguir local ip ethernet
Publicado por: engel lex en 11 Enero 2015, 01:42 am
pero puedes confiar en "conexión de red" que es el texto base normalmente en windows... alguna otras información que puedas sacar?


Título: Re: Conseguir local ip ethernet
Publicado por: patilanz en 11 Enero 2015, 02:35 am
alguna otras información que puedas sacar?

Bueno todo de http://msdn.microsoft.com/en-us/library/windows/desktop/aa366062
Y con IP_ADAPTER_ADDRESSES como obtengo la ip ?


Título: Re: Conseguir local ip ethernet
Publicado por: engel lex en 11 Enero 2015, 02:38 am
no estoy en windows XD y en el windows no tengo instalado nada de eso jejeje