Gibt es eine Methode, um kontinuierlich die Erkennung, wenn Netzwerk-router DHCP unterstützt, die mithilfe von C/C++?

StackOverflow https://stackoverflow.com/questions/1608565

Frage

Es ist ein Szenario, in dem eine Anwendung sagt, ein Gerät in einem Netzwerk zu bekommen, Ihre IP-Adresse von Netzwerk-router DHCP-server.Wenn ein DHCP-server nicht verfügbar ist, wird das Verhalten des Geräts fehlerhaft ist.Gibt es eine Methode, um kontinuierlich zu erkennen, wenn die Netzwerk-router DHCP unterstützt?Oder ist das etwas, was das Gerät benötigt, um zu tun, wenn Sie versuchen, um seine IP-Adresse vom DHCP-server?

War es hilfreich?

Lösung

DHCP-client auf dem Gerät macht genau das.Naja, fast.

Der DHCP DISCOVERY message broadcast auf den link.Dann, wenn es keine DHCP-Server bereit, zu dienen dieser bestimmten MAC-Adresse, die jedem behält sich eine IP-Adresse aus seinem pool, und Sie Antworten mit ANGEBOT Nachricht.Der client nimmt dann auf welchen server es will, zu "binden" und zu Fragen der REQUEST-Nachricht.Der server bestätigt den erteilten lease der IP-Adresse mit einer ACK-Nachricht.
Der client ermittelt die "nicht-Verfügbarkeit" von DHCP-Server, indem Sie einfach timing und warten auf Angebote.

Werfen Sie einen Blick auf die DHCPing Projekt.Vielleicht geben Ihnen ein paar Ideen.

Links zu den DHCP-RFCs:

RFC 2131, Dynamic Host Configuration Protocol
RFC 2132 DHCP-Optionen und BOOTP-Erweiterungen des Herstellers

Andere Tipps

Ich war etwas entlang der Linien von dieser Windows- DHCP-C-API .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top