Announcement

Collapse
No announcement yet.

locale ip- & mac- Adresse

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • locale ip- & mac- Adresse

    Ich habe zwei Netzwerkkarten. Sie bekommen ihre ipAdresse per DHCP zugewiesen. Meine Applikation in Java sollte alle IPAdresse und alle MacAdresse anzeigen können. So wie jetzt mein PC konfiguriert ist, sollten also zwei IpAdresse und zwei MacAdresse angezeigt werden.
    Für die IpAdresse habe ich folgendes gefunden:
    String localHost = InetAddress.getLocalHost().getHostName();
    for (InetAddress ia : InetAddress.getAllByName(localHost))
    System.out.println(ia);

    Folgendes wird ausgegeben: testlab/127.0.1.1 Das wars! Wieso gibt er mir nur die IP-Adresse der lokalen Schleife. Die brauche ich doch gar nicht.
    Ich möchte folgende Ausgabe z.B.:
    00:35:05:79:50:F9 hat die Ip-Adresse 192.168.0.2
    00:35:05:49:25:CD hat die Ip-Adresse 192.168.1.2

    Könnte ich das mit Java erreichen?

    Für Mac-Adresse habe ich einen Artikel gefunden, wie man es aus der CMD unter Windows ablesen könnte. Meine Applikation sollte allerdings nicht nur unter Windows laufen, sondern auch unter Linux. Also ich kann die Methode nicht einsetzten. Ich brauche was allgemeineres.
    Kann mir jemand Helfen?
    Danke im Voraus!

  • #2
    MAC Adresse abfragen geht mit Java-Bordmitteln nicht. Was geht ist folgendes:

    Code:
    Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
    while(interfaces.hasMoreElements())
    {
      NetworkInterface nextIface = (NetworkInterface)interfaces.nextElement();
      System.out.println("Network interface: " + nextIface.getName());
      Enumeration addresses = nextIface.getInetAddresses();
      while(addresses.hasMoreElements())
      {
        InetAddress ip = (InetAddress)addresses.nextElement();
        System.out.println("IP: " + ip.getHostAddress());
      }
    }
    Das gibt den Namen der Netzwerkkarten + IP-Adresse aus, also z.b. eth0

    Comment


    • #3
      Kleiner Nachtrag: Ab Java 1.6 kann man auch die MAC-Adresse abfragen (NetworkInterface.getHardwareAddress)

      Comment


      • #4
        Super! Vielen Dank! Es funktioniert besser als ich dachte. Die Ip-Adressen werden sogar auch in IPv6-Format ausgegeben. Und genau das brauch ich.

        Comment

        Working...
        X