IP Addresse des Computers herausfinden



  • hier siehst du den Code, der dir den Computername und
    die IP-Addressen (alle LAN und WAN-Addressen)
    des Computers anzeigt.

    man braucht dazu die Library : ws2_32.lib

    #include <iostream>
    #include <stdlib.h>
    #include <vector>
    #include <string>
    #include "winsock.h"
    
    using namespace std;
    
    typedef vector<string> STRINGS;
    
    long GetHostIP(STRINGS &hosts)
    {
    	char name[255];
    	gethostname((char*)&name,sizeof(name));
    
    	struct hostent *host;
    	if ((host = gethostbyname((char*)&name)) == NULL)
    	{
    		return -1;
    	}
    
    	string anhost;
    	anhost = host->h_name; //Der Computername
    	hosts.push_back(anhost);
    
    //ermittelt alle Addressen des Computers
    	int i = 0;
    	while (host->h_addr_list[i] > 0)
    	{
    		in_addr INET;
    		INET.S_un.S_addr = *((unsigned long*)host->h_addr_list[i]);
    		hosts.push_back(inet_ntoa(INET));
    		i++;
    	}
    }
    
    int main(int argc, char *argv[])
    {
        WSADATA WSAData;
        WSAStartup (MAKEWORD(1,1), &WSAData);
    
        STRINGS IPs;
    	GetHostIP(IPs);
    
    	int s1 = IPs.size();
    	string s2;
    	for (int i = 0; i < s1; i++)
    	{
    		cout << IPs[i] << endl;
    	}
      return 0;
    }
    

    getestet unter DevCPP
    Ohne Gewähr

    Wenn jemand, weiß wie man zwischen LAN und WAN Addressen unterscheidet - bitte mail an : dezipaitor at gmx.de


Anmelden zum Antworten