ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1315
1315
EMPFEHLEN
-
Hi liebe Community,
ich bin gerade an einem Projekt daran bei dem ich auf folgendes Problem gestoßen bin.
Ich benötige für mein Projekt Kommunikation die über Sockets und IPs funktioniert. Doch nun benötigte ich eine VM-Ware und habe mich für VirtualBox entschieden.
Seit der Installation funktioniert leider gar nix mehr so wie es sollte.
Da ich mit VirtualBox nun auch 2 virtuelle Netzwerkkarten habe, ist das Problem das mein Rechner die falsche Netzwerkkarte in meinem Projekt erkennt, somit eine Falsche IP bezieht und versendet und das legt wiederum die gesamte Kommunikation zwischen den Rechnern lahm, da kein Rechner auf die IP antwortet auf die er sollte.
IPConfig – all
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Windows-IP-Konfiguration Hostname . . . . . . . . . . . . : NBWINDOWS7PRO Primäres DNS-Suffix . . . . . . . : Knotentyp . . . . . . . . . . . . : Hybrid IP-Routing aktiviert . . . . . . : Nein WINS-Proxy aktiviert . . . . . . : Nein Drahtlos-LAN-Adapter WLAN: Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : Realtek RTL8191SE Wireless LAN 802.11n PCI-E NIC Physikalische Adresse . . . . . . : 1C-4B-D6-4C-36-B9 DHCP aktiviert. . . . . . . . . . : Ja Autokonfiguration aktiviert . . . : Ja IPv4-Adresse . . . . . . . . . . : 192.168.100.11(Bevorzugt) Ethernet-Adapter LAN: Medienstatus. . . . . . . . . . . : Medium getrennt Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller Physikalische Adresse . . . . . . : 00-1F-16-31-54-09 DHCP aktiviert. . . . . . . . . . : Ja Autokonfiguration aktiviert . . . : Ja Ethernet-Adapter VirtualBox Host-Only Network: Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : VirtualBox Host-Only Ethernet Adapter Physikalische Adresse . . . . . . : 08-00-27-00-28-7B DHCP aktiviert. . . . . . . . . . : Nein Autokonfiguration aktiviert . . . : Ja IPv4-Adresse . . . . . . . . . . : 192.168.56.1(Bevorzugt)
Verbunden bin ich über die WLAN-Karte, ab und an auch per LAN, doch leider bekomm ich in Java nur die IP der Virtuellen Netzwerkkarte angezeigt
InetAddress.getLocalHost()
Code :1
NBWINDOWS7PRO/192.168.56.1
Eine Auflistung der Netzwerkkarten in Java sieht wie folgt aus
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Name: eth3 Display: Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller Loopback: false Up: true Virtual: false MAC: 08002700287B Name: net4 Display: Realtek RTL8191SE Wireless LAN 802.11n PCI-E NIC Loopback: false Up: true Virtual: false MAC: 08002700287B Name: eth7 Display:VirtualBox Host-Only Ethernet Adapter Loopback: false Up: true Virtual: false MAC: 08002700287B
Hierbei sollte auffallen, das jede Netzwerkkarte die selbe MAC-Adresse hat und dies auch die MAC-Adresse der VirtualBox Netzwerkkarte ist. Warum das so ist kann ich mir nicht erklären.
Gibt es eine Möglichkeit eine bestimmte Netzwerkkarte auszuwählen, außer über die Namen („eth0“, „eth1“, …). Am liebsten wäre mir die Eingabe einer MAC-Adresse da ich so genau bestimmen könnte welche Netzwerkkarte ich verwenden will.
Selbst ds umstellen der Prioritäten in Windows hat nichts gebracht, ich kann lediglich die Virtuelle Netzwerkkarte ausschalten dann funktioniert es. Da ich aber die Virtuelle-Netzwerkkarte brauche, kommt dies nicht in Frage.
Ich muss doch irgendwie beeinflussen können, auf welche Netzwerkkarte Java zugreift, dies sollte idealerweise per MAC-Adresse passieren, da eth1 in Windows nur schlecht nachvollziehbar ist.
So dass ich durch den Aufruf von InetAddress.getLocalHost() auch die entsprechende und damit richtige IP verwende.
Ich benötige hierbei dringend Hilfe, da ich an meinem Projekt nicht weitermachen kann ohne über diesen Schatten gesprungen zu sein. Da die Kommunikation zwischen Rechnern eine Grundlegende Sache in meinem Projekt ist.
Mit bestem Dank
Memphis01
-
21.05.10 18:44 #2
Hallo,
hast du dir die Eigenschaft HardwareAddress schonmal angeschaut? Laut api ist das die MAC Adresse.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
try { Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); while (networkInterfaces.hasMoreElements()) { NetworkInterface networkInterface = (NetworkInterface) networkInterfaces.nextElement(); byte[] hardwareAddress = networkInterface.getHardwareAddress(); if (null != hardwareAddress) { for (int i = 0; i < hardwareAddress.length; i++) { System.out.print(Integer.toHexString(hardwareAddress[i])); } System.out.println("\n"); } } } catch (SocketException e) { e.printStackTrace(); }
Ausgabe:
Code :1 2 3 4 5
01dffffff9266ffffff830 2054554e1 0000000ffffffe0
Bis auf die vielen f stimmt das mit meinen mac Adressen überein. Evtl stimmt was mit dem toHexString nicht.
Zum bestimmen welches Interface verwendet werden soll kann man bei der Verwendung von Sockets mit angeben:
Code :1 2
Socket soc = new java.net.Socket(); soc.bind(networkInterface.nextElement());
Dann könnte man über die Interfaces iterieren, das richtige raussuchen anhand der mac und danach den Socket binden.Geändert von Franz Degenhardt (21.05.10 um 18:48 Uhr)
Denken gefärdet die Gewohnheit
-
Hi,
ja ich hatte mir die APi schon angeschaut und an dem problemm sitzt ich nun knapp 1 Woche und es tut mir leid,
aber selbst wenn ich den von dir hier gepostete Code einsetze
bekomm ich als ausgabe nur
Code :1 2 3 4 5 6 7 8
80270287b 80270287b 80270287b 80270287b
Das heisst alle NICs haben schon wieder die selbe MAC und wieder die MAC der VirtualBox NIC
Woran kann das liegen, irgendwas läuft doch da grundlegend schief.
Ich hab deinen Code 1:1 in ne Testdatei gepastet und o.g. als Ergebnis bekommen.Geändert von Memphis01 (21.05.10 um 19:09 Uhr)
-
Kann mir jemand weiterhelfen ...
Ich bekomm egal was ich auch mache immer die MAC Adresse der Virtuellen Netzwerkkarte (in VirtualBox bridged) auf alle anderen Angezeigt, dementsprechend kann ich keinen Zugriff auf das richtige Netzwerk-Interface machen und komm nicht ausserhalb meines Rechners.
Kann mir bitte jemand weiterhelfen
Ähnliche Themen
-
Zuordnung NetworkInterface zu IP Adresse
Von MikeBi im Forum .NET Web und KommunikationAntworten: 3Letzter Beitrag: 05.12.10, 18:53 -
ModRewrite - adresse.de/php-seiten ohne Endung und adresse.de/Benutzer
Von Kalma im Forum Hosting & WebserverAntworten: 3Letzter Beitrag: 11.11.09, 12:49 -
char mit Adresse -> int mit Adresse
Von MSAB im Forum C/C++Antworten: 4Letzter Beitrag: 07.01.07, 20:26 -
Auflösung IP Adresse von Mac Adresse
Von snowdog im Forum Microsoft WindowsAntworten: 27Letzter Beitrag: 10.08.05, 15:16 -
Outlook 2003 Ordner für die Mail adresse, ein anderer Ordner für die andere Adresse
Von dartox im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 18.12.04, 16:30





Zitieren
Login





