Hallo. Ich habe mir ein Ping-Programm programmiert das über ICMP.DLL arbeitet, also mit dem Aufruf IcmpSendEcho. Nun wollte ich diesen Ping aber über eine bestimmte Netzwerkkarte versenden (es befinden sich 4 Stück im PC). Wenn man mit RAW-Sockets arbeitet kann man das ja über bind machen, aber über ICMP.dll habe ich jetzt noch nichts gefunden. Hat da jemand was parat, oder ist das damit einfach nicht möglich?
Das dürfte von den IP-Adressen und Subnets abhängen, die für die Netzwerkkarten konfiguriert sind. Liegt die Ping-Zieladresse im Subnet einer der Netzwerkkarten, wird diese verwendet. Interessanter bzw. wirrer wird die Angelegenheit, wenn für die Netzwerkkarten auch noch Router/Standardgateways konfiguriert sind. Wenn allerdings alle vier Karten Adressen aus dem selben Subnet verwenden, dann wüsste ich auch nicht ad hoc, wie man da eine gezielt auswählen kann. Wie sehen denn die Adressen aus?
Sie sind alle in einem anderen Subnetz. LAN1: 192.168.0.1 LAN2: 192.168.1.1 LAN3: 192.168.2.1 LAN4: 192.168.3.1 Soweit ist es auch nicht problematisch. Doch was ich machen will ist, dass LAN1 LAN3 und LAN2 LAN4 anpingen soll. Der Rechner ist also mit je zwei Netzwerkkarten immer zusammen geschaltet. Hintergrund ist, dass mit nur einem Rechner die Kabel auf Unterbrechungen getestet werden sollen.
> Doch was ich machen will ist, dass LAN1 LAN3 und LAN2 LAN4 anpingen soll.
Wie soll das gehen, wo doch jeweils andere Subnetze verwendet werden?
das geht vielleicht besser mit WinPCap, damit kann man beliebige Pakete auf ausgewählten Interfaces senden/empfangen.
Ja, stimmt, aber ich kann sie ja anpingen da die Netzmaske 255.255.0.0 ist. Das Problem ist halt, dass wenn die Karten alle 192.168.0.1-4 hätten, dann läuft das alles über den Kernel und nicht mehr physikalisch über die LWL/Kupfer Leitungen. Wenn du ne andere Idee hast wie man das lösen könnte immer her damit.
Die Routen entsprechend manipulieren und dann senden?
Timmo H. schrieb: > Hintergrund ist, dass mit > nur einem Rechner die Kabel auf Unterbrechungen getestet werden sollen. für sowas gibts ja nu wirklich einfachere Lösungen. Die teure ist mit sicherheit ein Netzwerk-Analyse-Werkzeug. Wenns nur um Unterbrechung geht, bau halt zwei Rj45 Buchsen auf eine kleine Paltine und löt an die eine Seite den MinusPol und auf die andere Seite 8 LEDs+Widerstände dann an Pluspol. Hardwarekosten 2-5€ Zeit für Aufbau höchstens 1-2h (je nach Löterfahrung)
warum muss es denn ICMP sein, mach das ganze noch als UDP. Dann kannst du auch die absender IP festelgen (bin mir aber nicht sicher ob das gleichbedeutetd mit dem Interface ist)
Vlad Tepesch schrieb: > für sowas gibts ja nu wirklich einfachere Lösungen. > Die teure ist mit sicherheit ein Netzwerk-Analyse-Werkzeug. > > Wenns nur um Unterbrechung geht, bau halt zwei Rj45 Buchsen auf eine > kleine Paltine und löt an die eine Seite den MinusPol und auf die andere > Seite 8 LEDs+Widerstände dann an Pluspol. > > Hardwarekosten 2-5€ > Zeit für Aufbau höchstens 1-2h (je nach Löterfahrung) Das soll aber in einem bestehenden Netz mit eigener Testsoftware integriert werden. >warum muss es denn ICMP sein, mach das ganze noch als UDP. Dann kannst >du auch die absender IP festelgen (bin mir aber nicht sicher ob das >gleichbedeutetd mit dem Interface ist) ICMP war erstmal am einfachsten zu programmieren. Wenn du eine einfache Lösung per UDP past, immer her damit.
> ICMP war erstmal am einfachsten zu programmieren. Wenn du eine einfache > Lösung per UDP past, immer her damit. wo ist jetzt das Problem mit UDP, da sind in jeden Doku beispiele drin. Finde ich wesentlich einfacher als mit ICMP - bis jetzt kannte ich nicht mal die API um ein Ping zu erzeugen.
Ja, wie gesagt ICMP ist verdammt einfach. Eigentlich nur ein Befehl, kein Rumgefrickel mit Sockets usw. nur eben die Problematik dass man nicht sagen kann über welches Interface das ganze rausgehen soll. Ich werde nochmal gucken ob ich da auf die schnelle was mit UDP programmiert bekomme.
> Ja, stimmt, aber ich kann sie ja anpingen da die Netzmaske 255.255.0.0 > ist. Dann sind alle vier Netzwerkkarten im selben Subnet.
Ja, dann. Wie gesagt ich bin eben noch auf der Suche nach einer Lösung.
und warum geht es nicht mit Setzen der Routen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.