AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Ping in anderes Subnet ohne Router...
Thema durchsuchen
Ansicht
Themen-Optionen

Ping in anderes Subnet ohne Router...

Offene Frage von "SleepyMaster"
Ein Thema von SleepyMaster · begonnen am 13. Sep 2005 · letzter Beitrag vom 15. Sep 2005
 
McLane

Registriert seit: 4. Sep 2004
37 Beiträge
 
Delphi 5 Professional
 
#10

Re: Ping in anderes Subnet ohne Router...

  Alt 13. Sep 2005, 20:08
ok, jetzt wirds bisschen fach-spezifisch...

gegeben sei ip 192.168.0.1 mit sn 255.255.255.0 (AP) und 192.168.1.1 mit sn 255.255.0.0 (Client).

Wenn du nun einen Ping absendest prüft der Kernel (ja, auch in windows gibt's sowas inzwischen) die IP mit der SN gegen die Ziel-Adresse. Wenn die im gleichen SN ist (vom Client aus ist dies der Fall wegen 255.255.0.0) dann wird das Paket ungeändert aufs Medium geschickt.

Der AP stellt nun ein Problem dar, weil dort der Kernel(was auch immer für TCP/IP zuständig ist) bemerkt, dass die Zieladresse für das Antwortpaket nicht im gleichen subnetz ist. Dementsprechend wird er versuche das Paket an das default gateway zu senden. Die wird erreicht, indem die MAC-Adresse (in OSI Schicht 2) auf die des GW geändert wird. Das Paket wird so auf das Medium geschickt. Deine Netzwerkarte hat aber eine andere Adresse als das default GW und nimmt das Paket daher gar nicht erst an, weshalb es nie zurück an dein Ping Programm gelangt.

Soviel zur Theorie...

Abhilfe kann hier der Proscimous-Mode schaffen. Dies ist ein spezieller Modus, in den man die Netzwerkkarte setzen kann. Dadurch wird veranlasst, dass Pakete mit anderer MAC-Adresse als die eigene nicht sofort verworfen sondern trotzdem zur Verarbeitung an den Kernel (oder was auch immer) weitergereicht werden.
Bei Windows brauchst du hierfür die PCap.dll (freeware mal nach googlen).

Wenn du nun die PCap eingerichtet hast und nutzt, hast du immernoch das Problem mit dem Switch. Der entscheidet aufrgund der MAC-Adresse, an welchen Port er das Paket vom AP senden soll. Da diese von deiner Tatsächlichen abweicht wird er deiner Karte das Paket auch nicht übergeben.

Aber auch hier gibt es abhilfe, durch einen sogenannten Mirror-Port. Dieser spiegelt alle Pakete die durch den Switch laufen wieder (kostet meist bisschen mehr so ein Switch mit Mirror-Port) oder du hast einen richtig qualitativen Switch, den du über http-Interface konfigurieren kannst und die MAC-Table modifizieren kannst.

Einfachste Möglichkeit in dem Fall wäre aber einen HUB zwischen zu schalten, der ist dumm wie Stroh und leitet alle Pakete an jeden weiter. So kommt dein (mit anderer MAC-Adresse versehenes) Ping-Antwortpaket (ICMP_ECHO_REPLY) wenigstens an deine Netzwerkkarte und du musst es nur noch mit der PCap abgreifen...

MfG McLane
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz