Alle ip Adressen von meinem Rechner



  • Hallo ...
    Ich möchte gerne alle IP Adressen meines Rechners herausbekommen.
    Das ganze soll aber nicht nur unter windows sondern auch unter suse laufen.
    Ich kann also nicht mit der structur _MIB_IPADDRROW arbeiten.
    ich versuche es mit gethostbyname() und loope dann die HOSTENT structur durch.
    Das problem ist nur das ausser den richtigen 5 auch noch 3-5 schwachsinige
    ( 171.171.171.171 ) drin sind..
    ?? ist das der Falsche weg ???



  • Mit ANSI C nicht möglich, da musst du OS-spezifische Bibliotheken benutzen.



  • und welche sind das ??? ich kann auch noch an dieser stelle c++ benutzen ???



  • wenn du sagst für welches OS du die lösung haben willst, schiebe ich dich ins richtige forum.

    C kennt nämlich kein Netzwerk. da muss man systemabhängige funktionen verwenden. (oder eben eine lib die das wrappt ;))



  • Ich bräuchte die lösung für linux ...
    die Microdoof lösung hab ich ..

    struct hostent *hp;
    		struct in_addr **bptr;
    		struct in_addr*ipaddr = new struct in_addr[1];
    		memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
    
    		hp = gethostbyname("pcdusan");
    
    		if(!hp)
    		{
    			if(ipaddr)
    				delete[] ipaddr;
    			ipaddr = new struct in_addr[1];
    			memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
    			return;
    		}
    
    		// Count the number of IP addresses returned
    		int addr_count = 0;
    		for(bptr = (struct in_addr **)hp->h_addr_list; *bptr != NULL; bptr++)
    		{
    			addr_count++;
    		}
    
    		// Allocate enough memory
    		if(ipaddr)
    			delete[] ipaddr;	// Cause this was allocated in base
    		ipaddr = new struct in_addr[addr_count];
    
    		// Now go through the list again assigning to 
    		// the member ipaddr;
    		bptr = (struct in_addr **)hp->h_addr_list;
    		for(unsigned int i = 0; i < addr_count; i++)
    		{
    
    			std::string test = inet_ntoa ((struct in_addr)*bptr[i]);
    		}
    


  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hi,
    man: gethostbyname gibts auch unter Unix.
    Aber in diesem Zusammenhang interessiert Dich uU auch der FAQ-Eintrag "eigene IP herausfinden ".


Anmelden zum Antworten