Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi DHCP/BOOTP Server (https://www.delphipraxis.net/166723-dhcp-bootp-server.html)

Gruber_Hans_12345 27. Feb 2012 10:48

DHCP/BOOTP Server
 
Hallo weiss jemand, ob es "geht" mit Delphi einen DHCP bzw BOOTP Server zu erstellen?

Ich habe hier NUR eigene Hardware, die gerne per DHCP/BOOTP aber auf einem anderen Port die IP Adresse haben wollen.
Kann ich solche Anfrage mit Delphi handeln?

danke im vorhinein
hans

Valle 27. Feb 2012 11:10

AW: DHCP/BOOTP Server
 
Wieso nichts Fertiges? Es gibt sicher Software, die auch auf anderen Ports auf Anfragen lauschen kann. Alternativ nimmst du eine Linux-VM, da muss es sowas geben. Notfalls kann man auch noch was mit einer Firewall machen, also eine Portweiterleitung.

Liebe Grüße,
Valentin

Klaus01 27. Feb 2012 11:13

AW: DHCP/BOOTP Server
 
Hallo Hans,

hier gibt es einen DHCP Server
welcher auf Ports != 67 lauschen kann.

Die Doku

Grüße
Klaus

Gruber_Hans_12345 27. Feb 2012 11:37

AW: DHCP/BOOTP Server
 
Ok, damit hätten wir mal das fertige geklärt :)

Weiss jemand ob man sowas auch in Delphi produzieren kann?

Klaus01 27. Feb 2012 11:44

AW: DHCP/BOOTP Server
 
.. eine fertige Komponente kenne ich nicht die so etwas beherscht.

DHCP fusst auf dem UDP Protokoll, es sollte daher möglich sein das Verhalten eines DHCP Servers nachzuprogrammieren (ohne auf raw sockets zugreifen zu müssen).

Wenn Du den Server "nur" für Deine Hardware brauchst, benötigst Du sicherlich nur ein Subset
der gesamten DCHP Funktionalität.

Grüße
Klaus

Steku 27. Feb 2012 11:55

AW: DHCP/BOOTP Server
 
hi,

bin beim googeln darauf gestoßen: http://www.weonlydo.com/DHCPServer/d...-component.asp

ist activeX, aber vielleicht hilft es dir weiter. scheint auf den ersten blick
für umme zu sein (kostenpflichtig mit source...).

Zitat:

Pricing - per developer seat
1 Developer license Free
3 Developer Team licenses (15% off) Free
1 Developer license with source code $279.00
gruß
steku

Gruber_Hans_12345 27. Feb 2012 11:59

AW: DHCP/BOOTP Server
 
Zitat:

Zitat von Klaus01 (Beitrag 1153103)
.. eine fertige Komponente kenne ich nicht die so etwas beherscht.

DHCP fusst auf dem UDP Protokoll, es sollte daher möglich sein das Verhalten eines DHCP Servers nachzuprogrammieren (ohne auf raw sockets zugreifen zu müssen).

Wenn Du den Server "nur" für Deine Hardware brauchst, benötigst Du sicherlich nur ein Subset
der gesamten DCHP Funktionalität.

Grüße
Klaus


schon .....
ABER
Das Gerät schickt ja eine Broadcast Meldung aus "Ich will eine IP", und dann muß das Gerät ja irgendwie diese IP bekommen, aber dazu kann ich ja keine "normale" Nachricht schicken, sondern muß es irgendwie nur anhand der MAC schaffen oder?

Klaus01 27. Feb 2012 12:13

AW: DHCP/BOOTP Server
 
.. die ClientMac Adresse steckt im DHCP Packet drin (chaddr (16 Byte): Client-MAC-Adresse).

Dort kanst Du sie dann auslesen und die IP Adresse die zur MacAdresse gehört zurücksenden.

Grüße
Klaus

Gruber_Hans_12345 27. Feb 2012 12:16

AW: DHCP/BOOTP Server
 
Zitat:

Zitat von Klaus01 (Beitrag 1153113)
.. die ClientMac Adresse steckt im DHCP Packet drin (chaddr (16 Byte): Client-MAC-Adresse).

Dort kanst Du sie dann auslesen und die IP Adresse die zur MacAdresse gehört zurücksenden.

Grüße
Klaus

Ja schon, aber was tue ich, wenn das Client Gerät NOCH KEINE IP hat?

Klaus01 27. Feb 2012 12:28

AW: DHCP/BOOTP Server
 
aus dem Wiki:
Zitat:

Wenn ein Client erstmals eine IP-Adresse benötigt, schickt er eine DHCPDISCOVER-Nachricht (mit seiner MAC-Adresse) als Netzwerk-Broadcast an die verfügbaren DHCP-Server (es kann durchaus mehrere davon im gleichen Subnetz geben). Dieser Broadcast hat als Absender-IP-Adresse 0.0.0.0 und als Zieladresse 255.255.255.255, da der Absender noch keine IP-Adresse besitzt und seine Anfrage „an alle“ richtet. Dabei ist der UDP-Quellport 68 und der UDP-Zielport 67. Die DHCP-Server antworten mit DHCPOFFER und machen Vorschläge für eine IP-Adresse. Das geschieht ebenfalls mit einem Broadcast an die Adresse 255.255.255.255 mit UDP-Quellport 67 und UDP-Zielport 68.

Der Client darf nun unter den eingetroffenen Angeboten (DHCP-Offers) wählen. Wenn er sich für eines entschieden hat (z. B. wegen längster Lease-Zeit oder wegen Ablehnung eines speziellen, evtl. falsch konfigurierten DHCP-Servers, oder einfach für die erste Antwort), kontaktiert er per Broadcast und einem im Paket enthaltenen Serveridentifier den entsprechenden Server mit der Nachricht DHCPREQUEST. Alle eventuellen weiteren DHCP-Server werten das als Absage für ihre Angebote. Der vom Client ausgewählte Server bestätigt in einer DHCPACK-Nachricht (DHCP-Acknowledged) die IP-Adresse mit den weiteren relevanten Daten, oder er zieht sein Angebot zurück (DHCPNAK, siehe auch sonstiges).

Bevor der Client sein Netzwerkinterface mit der zugewiesenen Adresse konfiguriert, sollte er noch prüfen, ob nicht versehentlich noch ein anderer Rechner die Adresse verwendet. Das geschieht üblicherweise durch einen ARP-Request mit der soeben zugeteilten IP-Adresse. Antwortet ein anderer Host im Netz auf diesen Request, so wird der Client die vorgeschlagene Adresse mit einer DHCPDECLINE-Nachricht zurückweisen.
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 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