WLAN Netzwerke finden

MaxG.

Bekanntes Mitglied
Hi,
ich möchte mit Java gerne überprüfen ob der Computer eine WLAN Schnittstelle hat und welche verfügbaren Netzwerke sich in der Umgebung befinden. Hab mir schon mal die Schnittstellen ausgeben lassen aber da sieht man ja nicht ob die LAN oder WLAN fähig ist. Geht das mit Java und wenn ja was muss ich mir da anschauen?
 

VfL_Freak

Top Contributor
Moin,
Hab mir schon mal die Schnittstellen ausgeben lassen
Womit denn genau?
Und wie sah das Resultat aus?

Mit dieser Methode lese ich die die Adapter aus, um eine bestimmte MAC-Adresse zu ermitteln:
Java:
    private String fSeekMACAdresse()
   {
       String strMACAdr = "00-00-00-00-00-00";

       try
       {
           Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
           for( NetworkInterface netint : Collections.list(nets) )
           {
               for( InetAddress address : Collections.list(netint.getInetAddresses()) )
               {
                   if( address instanceof Inet4Address )
                   {
                       System.out.println( "<<" + address + "##" + netint.getName() + "##" + netint.getDisplayName() + ">>" );

                       String sName = netint.getName();
                       String sDisplayName = netint.getDisplayName();
                    
                       // ACHTUNG: das führende Blank bei MINIPORT ist zwingend erforderlich
                       // (da seit Java JDK 1.7_45 ggf. "Paketplaner-Miniport" ausgelesen wird)!!!
                       if( sName.startsWith("eth")
                           && !sDisplayName.toUpperCase().contains("WAN")    && !sDisplayName.toUpperCase().contains(" MINIPORT")
                           && !sDisplayName.toUpperCase().contains("TUNNEL") && !sDisplayName.toUpperCase().contains("BLUETOOTH")
                         )
                       {
                           String DetectedIpAddress = address.getHostAddress();
                           System.out.println( "~~~ Current IP-Address: " + DetectedIpAddress );
      
                           byte[] mac = netint.getHardwareAddress();
                           StringBuilder sb = new StringBuilder();
                           for( int i = 0; i < mac.length; i++ )
                           {
                               sb.append( String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "") );
                           }
                           return sb.toString();
                       }
                   }
               }
           }
       }
       catch( IOException e )
       {
           e.printStackTrace();
       }
       return strMACAdr;  
} // fSeekMACAdresse
VG Klaus
 

MaxG.

Bekanntes Mitglied
Code:
package WebDev;

import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;



public class ListNets {

    public static void main(String args[]) throws SocketException {
        Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
        for (NetworkInterface netint : Collections.list(nets))
            displayInterfaceInformation(netint);
    }

    static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
        out.printf("Display name: %s\n", netint.getDisplayName());
        out.printf("Name: %s\n", netint.getName());
        Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
        for (InetAddress inetAddress : Collections.list(inetAddresses)) {
            out.printf("InetAddress: %s\n", inetAddress);
        }
        out.printf("\n");
    }

}

Resultat:
Kein plan was das alles ist
Display name: Software Loopback Interface 1
Name: lo
InetAddress: /127.0.0.1
InetAddress: /0:0:0:0:0:0:0:1

Display name: WAN Miniport (SSTP)
Name: net0

Display name: WAN Miniport (L2TP)
Name: net1

Display name: WAN Miniport (PPTP)
Name: net2

Display name: WAN Miniport (PPPOE)
Name: ppp0

Display name: WAN Miniport (IPv6)
Name: eth0

Display name: WAN Miniport (Network Monitor)
Name: eth1

Display name: WAN Miniport (IP)
Name: eth2

Display name: RAS Async Adapter
Name: ppp1

Display name: WAN Miniport (IKEv2)
Name: net3

Display name: Microsoft Teredo Tunneling Adapter
Name: net4
InetAddress: /fe80:0:0:0:e0:0:0:0%net4

Display name: Bluetooth Device (Personal Area Network)
Name: eth3

Display name: Bluetooth Device (RFCOMM Protocol TDI)
Name: net5

Display name: Intel(R) Ethernet Connection I217-V
Name: eth4
InetAddress: /10.36.59.48
InetAddress: /fe80:0:0:0:98d3:622e:943b:f9da%eth4

Display name: Intel(R) Dual Band Wireless-AC 7260
Name: wlan0
InetAddress: /fe80:0:0:0:1ceb:2b0c:d843:cea2%wlan0

Display name: Bluetooth Device (RFCOMM Protocol TDI) #2
Name: net6

Display name: Bluetooth Device (Personal Area Network) #2
Name: eth5

Display name: Microsoft Virtual WiFi Miniport Adapter
Name: wlan1
InetAddress: /fe80:0:0:0:6c34:ece4:17d1:728d%wlan1

Display name: Microsoft ISATAP Adapter #3
Name: net7
InetAddress: /fe80:0:0:0:0:5efe:a24:3b30%net7

Display name: Microsoft ISATAP Adapter #2
Name: net8

Display name: Microsoft ISATAP Adapter #2-Symantec Endpoint Protection Firewall-0000
Name: net9

Display name: Microsoft ISATAP Adapter #3-Symantec Endpoint Protection Firewall-0000
Name: net10

Display name: Microsoft Teredo Tunneling Adapter-Symantec Endpoint Protection Firewall-0000
Name: net11

Display name: Intel(R) Ethernet Connection I217-V-Symantec Endpoint Protection Firewall-0000
Name: eth6

Display name: Intel(R) Ethernet Connection I217-V-QoS Packet Scheduler-0000
Name: eth7

Display name: Intel(R) Ethernet Connection I217-V-WFP LightWeight Filter-0000
Name: eth8

Display name: Intel(R) Dual Band Wireless-AC 7260-Symantec Endpoint Protection Firewall-0000
Name: wlan2

Display name: Intel(R) Dual Band Wireless-AC 7260-Virtual WiFi Filter Driver-0000
Name: wlan3

Display name: Intel(R) Dual Band Wireless-AC 7260-QoS Packet Scheduler-0000
Name: wlan4

Display name: WAN Miniport (Network Monitor)-Symantec Endpoint Protection Firewall-0000
Name: eth9

Display name: WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000
Name: eth10

Display name: WAN Miniport (IP)-Symantec Endpoint Protection Firewall-0000
Name: eth11

Display name: WAN Miniport (IP)-QoS Packet Scheduler-0000
Name: eth12

Display name: WAN Miniport (IPv6)-Symantec Endpoint Protection Firewall-0000
Name: eth13

Display name: WAN Miniport (IPv6)-QoS Packet Scheduler-0000
Name: eth14

Display name: Intel(R) Dual Band Wireless-AC 7260-Native WiFi Filter Driver-0000
Name: wlan5

Display name: Intel(R) Dual Band Wireless-AC 7260-WFP LightWeight Filter-0000
Name: wlan6

Display name: Microsoft Virtual WiFi Miniport Adapter-Native WiFi Filter Driver-0000
Name: wlan7

Display name: Microsoft Virtual WiFi Miniport Adapter-QoS Packet Scheduler-0000
Name: wlan8

Display name: Microsoft Virtual WiFi Miniport Adapter-WFP LightWeight Filter-0000
Name: wlan9

Display name: Microsoft Virtual WiFi Miniport Adapter-Symantec Endpoint Protection Firewall-0000
Name: wlan10

Display name: Microsoft ISATAP Adapter
Name: net12

Display name: Microsoft ISATAP Adapter-Symantec Endpoint Protection Firewall-0000
Name: net13
 

mrBrown

Super-Moderator
Mitarbeiter
Da kannst alle mit Namen wlan\d+ filtern.
Ist allerdings nicht sicher, dass das alle und nur WLAN-Schnittstellen sind...
 

MaxG.

Bekanntes Mitglied
Okay vielen Dank. Gibt es in Java auch die Möglichkeit nicht nur die Interfaces auszulessen sondern auch die verfügbarren ssids in der Umgebung.
 

JuKu

Top Contributor
Da kannst alle mit Namen wlan\d+ filtern.
Ist allerdings nicht sicher, dass das alle und nur WLAN-Schnittstellen sind...

Und "WiFi" muss er auch noch mit reinnehmen.

Okay vielen Dank. Gibt es in Java auch die Möglichkeit nicht nur die Interfaces auszulessen sondern auch die verfügbarren ssids in der Umgebung.

Die SSIDs bei Windows findest du wie folgt heraus (2. Antwort):
https://stackoverflow.com/questions...of-wireless-networks-ssids-in-java-c-and-or-c
 

JuKu

Top Contributor
@mrBrown Meines Wissens gibt es unter Windows Treiber, die ihr Interface so nennen. Ist nicht so einheitlich, wie unter Linux.
Bin da aber auch nicht so tief in der Thematik drin.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P IP-Adresse von Drahtlos-LAN-Adapter WLAN Netzwerkprogrammierung 1
W Countdown Wlan App Netzwerkprogrammierung 20
WerIstDerBoogieman? Wlan Lautsprecher: IP ermitteln? Netzwerkprogrammierung 6
J WLAN-Signalstärke in dbm auslesen Netzwerkprogrammierung 1
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
1 Via Java mit WLAN Netzwerken verbinden Netzwerkprogrammierung 5
D Ermitteln ob WLAN-Netzwerk UDP unterstützt Netzwerkprogrammierung 1
T getNetworkInterfaces() und WLAN Netzwerkprogrammierung 7
D WLAN Accespoint Signalstärke Netzwerkprogrammierung 12
G RMI über WLAN schneller als über LAN Netzwerkprogrammierung 3
A WLAN-Verbindung Netzwerkprogrammierung 2
F WLAN Probleme (CLIENT-SERVER) Netzwerkprogrammierung 4
L Kann VM nicht ueber Host Name finden Netzwerkprogrammierung 0
A trotz dyn-IP server finden Netzwerkprogrammierung 33
A Textfelder finden und im hintergrund ausfüllen? Netzwerkprogrammierung 3
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
M HtmlUnit form finden... Netzwerkprogrammierung 2
A Verfügbare Server finden? Netzwerkprogrammierung 13
T Andere Rechner im Netz finden Netzwerkprogrammierung 21
M Offene UDP-Ports finden Netzwerkprogrammierung 6
F freien Port finden Netzwerkprogrammierung 7
K kann stub klasse nicht finden ! Netzwerkprogrammierung 8

Ähnliche Java Themen


Oben