IP von NIC (zu Router)

wh4tup

Mitglied
hi,

ich versuche das Netzwerkinterface, über das der Zugang zum Internet hergestellt wird, zu ermitteln. Setup: PC->ROUTER->INTERNET.
Habe Rechner mit mehreren (win vista...) interfaces :

lo:
net0:
net1:
ppp0:
eth0:
eth1:
ppp1:
net2:
eth2:
net3:
eth3:
net4:
eth4:
net5:
net6:
eth5:
net7:
eth6:
net8:
eth7:
net9:
net10:
net11:
eth8:
eth9:
eth10:
eth11:
net12:
net13:

wollte erst die Ausgabe diverser Befehle parsen (zB ipconfig/ifconfig, netstat, route) und mir daraus das Default gateway auslesen und daraus das richtige interface ableiten. allerdings sind die befehle locale abhängig und desweiteren kanns mehr als 1 default gateway geben.

daher neuer Versuch mit tracert mit max. 1 hop. Jetz blockt mein D-link router scheinbar tracert (was ich nicht versteh weil PING funzt...).

Code:
C:\Windows\system32>tracert www.google.com

Tracing route to www.l.google.com [74.125.87.103]
over a maximum of 30 hops:

  1     *        *        *     Request timed out.
  2     4 ms     3 ms     4 ms  172.16.100.205

Gibs ne andere Möglichkeit ?
 
G

Gast2

Gast
wollte erst die Ausgabe diverser Befehle parsen (zB ipconfig/ifconfig, netstat, route) und mir daraus das Default gateway auslesen und daraus das richtige interface ableiten. allerdings sind die befehle locale abhängig und desweiteren kanns mehr als 1 default gateway geben.

finde das Default-Gateway - dann hast Du das Gateway was fürs Internet zuständig ist ... alle anderen Gateway sind nur Route zu weiteren Netzen ... ich weis nicht welche Metric das Default-Gateway unter Windows hat - sollte aber (wie unter Linux) eine 0 haben

hand, mogel
 

wh4tup

Mitglied
machs jetz mit "route" unter windows und "netstat" unter linux. funktioniert zumindest sprachen unabhängig.

btw unter vista hat das default gw bei mir eine metric von 20.
 

HoaX

Top Contributor
Wozu brauchst du das eigentlich? Ich habe hier z.B. mehrere Rechner die über mehrere Interfaces ins Internet gehen und je nach Service unterschieden wird über welches die Daten laufen. Am Sinnigsten ist es imo den Benutzer einstellen zu lassen welches Interface benutzt werden soll.
 

wh4tup

Mitglied
@mogel: geht auch, netstat -nr liefert im prinzip eh denselben output

@hoax: mag bei mehreren internet verbindungen sinn machen. in meinem fall will ich aber genau das vermeiden. denkst du ein DAU weiß mit welchem interface er ins internet connected? das soll das programm für ihn machen. es gibt in meinem fall auch nur einen "service".
 
G

Gast2

Gast
geht auch, netstat -nr liefert im prinzip eh denselben output
stimmt - wieder man gespart :]


denkst du ein DAU weiß mit welchem interface er ins internet connected? das soll das programm für ihn machen. es gibt in meinem fall auch nur einen "service".
das sollte in der Tat den DAU nicht interessieren ... das sollte aber auch einen Programmierer nicht interessieren (dafür gibt es die Netzwerker) ... was willst Du genau bewerkstelligen

hand, mogel
 

wh4tup

Mitglied
ich bin eigentlich mehr der netzwerker als der coder. hab nenn sipclient geschrieben. erstens soll die applikation nur auf dem einen interface "gebinded" werden und zweitens brauch ich dieses später fürs RTP streaming.
 

HoaX

Top Contributor
Als Idee fällt mir ein einfach z.B. zum SIP-Registrar zu verbinden und dann vom Socket mit getLocalAddress() die lokale Adresse zu holen, dann kannst du die vorhandenen Interfaces durchschauen zu welchem die Adresse gehört.
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Ähnliche Java Themen

Neue Themen


Oben