Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Tachchen,

ich will an einem Rechner mit evtl mehr als einer Netzwerkkarte prüfen, welche der beiden Karten mit dem WAN und welche mit dem LAN verbunden ist.

Dazu hab ich mir gedacht, ich sende einfach ein Ping an einen Hostnamen im WAN. Nur stellt sich jetzt follgende Frage. Wie kann ich beim senden eines Pings festlegen von welcher Netzwerkkarte das Paket abgeschickt werden soll.

Oder habt ihr andere vorschläge?´

Wäre es z.B. möglich eine standardverbindung mittels Sockets aufzumachen. z.b. auf port 80 des WAN hosts? Aber kann ich bei Socketverbindungen auch angeben von welcher Karte ich ausgehen will?

Danke für eure Hilfe.

nein, da der Host, an den ich mich connecten will übers Internet erreichbar ist.

Ich hab aber jetzt herrausgefunden das ein Ping nicht an eine Karte gebunden werden kann, weil OSI Schicht.4

Man kann doch aber bei einer Socketverbindung ein Bind an die lokale Karte machen oder? Sollte ja eigentlich OSI 2 oder 3 sein. Oder irre ich?

Originally posted by Net-srac

nein, da der Host, an den ich mich connecten will übers Internet erreichbar ist.

Was hat das damit zu tun? Die beiden Netzwerkkarten haben doch wahrscheinlich unterschiedliche IP-Adressen und liegen in unterschiedlichen Netzen. Daran entscheidet sich auch, über welche Karte eine Verbindung aufgebaut ist.
Originally posted by Klotzkopp

...Die beiden Netzwerkkarten haben doch wahrscheinlich unterschiedliche IP-Adressen und liegen in unterschiedlichen Netzen....

Also es schaut folgender maßen aus. Es existiert ein Host der übers Internet erreichbar ist. Der Rechner, der auf diesen Host zugreifen soll kann Standalone oder Router sein. Allerdings kann er auch mit 2 WAN verbunden sein, also 2 IP Adressen besitzen, die nicht 10.0.0.x 192.168.x.x oder 172.27.x.x entsprechen, sondern von verschiedenen DHCP's zugeordnet werden.

Daher weiß ich ja auch nicht in welchem Netz sich die Karte befinden muß. Ich soll nun rausbekommen welche Karte mit besagtem Host verbindung aufbauen kann. Dies geht nur wenn ich versuche einen Ping o.ä. zu senden und ein echo erwarte.

Nur kann man ja bei einem Ping nicht die Karte angeben von der er gesendet wird. Aber wie schauts mit einer Socketverbindung aus? Das ist ja eine OSI Schicht tiefer. Kann man da irgendwie das Netzwerkinterface bestimmen, das die Verbindung aufbauen soll? Es reicht ja schon, wenn ich nur eine Verbindung an irgendeinen offenen Port schaffe, da es den Hostnamen nur einmal im Netzen geben wird.

OK, jetzt hab ich es kapiert, sorry für die lange Leitung.

Mit bind müsstest Du einen Socket an eine bestimmte IP-Adresse binden können:

sockaddr_in local_sin;
memset (&local_sin, 0, sizeof (sockaddr_in));

local_sin.sin_family = AF_INET;
DWORD host = inet_addr( "192.168.0.1" ); // Beispiel

memcpy( &local_sin.sin_addr.s_addr, &host, sizeof(struct in_addr));
local_sin.sin_port = htons( wPort);

int nRet = bind( hSocket, (sockaddr*)&local_sin, sizeof( sockaddr_in));[/CODE]

Für das nachfolgende connect sollte dann die passende Karte verwendet werden.

Originally posted by Klotzkopp

OK, jetzt hab ich es kapiert, sorry für die lange Leitung.

Lag wohl eher an der ausgefallenden Aufgabe ;)

Aber das sieht so aus, als wäre dies genau die Lösung die ich brauche.

Thnx

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.