Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Ping in anderes Subnet ohne Router... (https://www.delphipraxis.net/53292-ping-anderes-subnet-ohne-router.html)

SleepyMaster 13. Sep 2005 17:49


Ping in anderes Subnet ohne Router...
 
Hi ihrs...

folgende Problemstellung: Ich habe einen Acess-Point, der nicht resetet werden darf/soll, dessen IP-Adresse jedoch unbekannt ist. Der Acess-Point und der PC sind direkt über ein Switch verbunden.
Nun habe ich ein Programm geschrieben, welches alle privaten Class-C Adressen durchpingen soll.

Das Problem ist jedoch, dass wenn ich in ein anderes Subnet pinge (z.B. von 192.168.0.1 nach 192.168.1.1), das nie klappt, auch wenn unter der IP normalerweiße ein Rechner zu finden wäre.

Wüssetet ihr einen Trick, wie ich das Problem trozdem lösen könnte?

Vielen Dank

sECuRE 13. Sep 2005 17:58

Re: Ping in anderes Subnet ohne Router...
 
Hi,

stell dir mal unter den TCP/IP-Einstellungen als Subnetzmaske 255.255.0.0 ein statt 255.255.255.0, dann gehen auch Pings ins andere Subnet.

cu

SleepyMaster 13. Sep 2005 18:05

Re: Ping in anderes Subnet ohne Router...
 
Sry, aber die Pings gehen troz der anderen Subnetmask nicht durch...

faux 13. Sep 2005 18:19

Re: Ping in anderes Subnet ohne Router...
 
Nur mit deinem Programm nicht, oder auch nicht über %windir$\system32\ping.exe ?

SleepyMaster 13. Sep 2005 18:22

Re: Ping in anderes Subnet ohne Router...
 
auch nicht über ping.exe

Sharky 13. Sep 2005 18:37

Re: Ping in anderes Subnet ohne Router...
 
Zitat:

Zitat von sECuRE
...dann gehen auch Pings ins andere Subnet.

Hin gehen sie, aber wie kommen sie zurück? (Habe das ICMP nicht im Kopf)

rantanplan99 13. Sep 2005 18:58

Re: Ping in anderes Subnet ohne Router...
 
Es müsste funktionieren wenn du auf allen (!) Rechnern (und auch auf dem Access-Point) auf 255.255.0.0 stellst.

rantanplan

Sharky 13. Sep 2005 19:03

Re: Ping in anderes Subnet ohne Router...
 
Zitat:

Zitat von rantanplan99
Es müsste funktionieren wenn ...

Klar. Dann pingt man ja auch nicht in ein anderes Subnet ;-)

Aber um die eigentliche Frage zu beantworten:
Wenn es in beiden Subnetzen kein "gemeinsames" Getway gibt kann man von einem SN nicht in das andere Pingen.

SleepyMaster 13. Sep 2005 19:09

Re: Ping in anderes Subnet ohne Router...
 
Hmmm dann werde ich mich mal nach einer Möglichkeit umschauen, wie ich die Pings unter einer IP-Adresse aus dem Fremden Subnet senden und die Replys wieder empfangen kann...

Falls ihr irgendwelche Ideen habt, bitte bitte posten...

McLane 13. Sep 2005 20:08

Re: Ping in anderes Subnet ohne Router...
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz