Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Gleiches Subnetz? (https://www.delphipraxis.net/169207-gleiches-subnetz.html)

dmax 4. Jul 2012 21:33

Gleiches Subnetz?
 
Hallo zusammen,

ich fange grad erst mit der Netzwerkprogrammierung an (D2007) und suche für ein kleines Tool nach einer Funktion, die mir sagt, ob die IP A (IPv4) eines Rechners im gleichen Subnetz wie der Rechner mit der IP B und der Netzmaske M liegt (IPs können aus verschiedenen lokalen / nicht-lokalen Netzen stammen).

Mein erster ungefährer Ansatz ist ein Vergleich der beiden Adressen A und B, deren erste n Bits gleich sein sollten, wobei sich n aus der gegebenen Netzmaske ergibt. IPs und Masken speichere ich sowohl als Strings als auch als Byte-Arrays. Wenn dieser Ansatz richtig ist, wie muss ich die Bytes der Adressen und der Maske dann genau verknüpfen?

Danke für jeden Hinweis,
dmax

RWarnecke 4. Jul 2012 21:39

AW: Gleiches Subnetz?
 
Ich würde die Adressinformationen über MSDN-Library durchsuchenGetAdaptersAddresses auslesen und dann entsprechend vergleichen.

jfheins 4. Jul 2012 21:49

AW: Gleiches Subnetz?
 
Also du brauchst streng genommen zwei IP Adressen und zwei Subnetzmasken.
Die Rechner liegen im gleichen Subnetz wenn die Subnetzmasken gleich sind und die Netzadresse gleich ist.
Du kannst durch ein bitweises UND jeweils die Netzadresse ermitteln und auf Gleichheit prüfen.

DeddyH 5. Jul 2012 07:13

AW: Gleiches Subnetz?
 
http://www.torry.net/vcl/lan/networks/uIPv4.zip
Das ist eine leicht erweiterte Variante von dem hier.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.

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