rzoze19 - stock.adobe.com

Mit Tools unautorisierte DHCP-Server finden

Wenn nicht autorisierte DHCP-Server im Netzwerk kommunizieren, kann es zu Verbindungsproblemen von Clients kommen. Der Beitrag beschäftigt sich mit der Fehlersuche.

Wenn in einem kleineren oder mittleren Netzwerk ein DHCP-Server nicht autorisiert in Betrieb genommen wird, hat das schnell große Auswirkungen. Erhalten Clients eine falsche IP-Adresse, können sie sich nicht mehr mit den Serveranwendungen verbinden. Server, die mit DHCP arbeiten, erhalten unter Umständen ebenfalls falsche Adressen, zum Beispiel für die Remoteeinwahl von Clients per DHCP.

Treten Netzwerkprobleme auf, muss es sich  nicht unbedingt um einen nicht autorisierten DHCP-Server handeln, aber es sollte zumindest ausgeschlossen werden. Dabei helfen kostenlose Tools, zum Beispiel auch von Microsoft.

In großen Netzwerken lassen sich nicht autorisierte DHCP-Server zwar blockieren, in dem auf den verwalteten Switches die entsprechenden Server gesperrt werden. Aber auch hier kann es sinnvoll sein, zuvor zu überprüfen, welche DHCP-Server es überhaupt gibt und woher die Probleme stammen.

Mit den richtigen Tools finden Sie nicht autorisierte DHCP-Server und Rogue Router.

DHCPLOC Utility

Das kostenlose Microsoft-Tool DHCPLOC Utility kann ohne Installation über die Befehlszeile schnell und einfach den Datenverkehr zu DHCP-Servern überprüfen. Mit dhcploc.exe lässt sich in wenigen Sekunden feststellen, welche DHCP-Server es im Netzwerk gibt, und ob autorisierte DHCP-Server falsche IP-Adressen im Netzwerk verteilen. Mit DHCPLOC Utility können Sie auch überprüfen, ob auf einem Client zum Beispiel keine IP-Adresse eines DHCP-Servers ankommt. Das geht zwar auch mit Tools zur Netzwerküberwachung, allerdings wesentlich komplexer, und vor allem nicht so schnell.

Für DHCPLOC Utility wird zunächst eine Eingabeaufforderung oder PowerShell-Sitzung benötigt. Um zu überprüfen, ob DHCP-Server im Netzwerk IP-Adressen verteilen, wird das Tool mit der folgenden Syntax aufgerufen:

dhcploc <IP-Adresse>

Als IP-Adresse wird die der Netzwerkschnittstelle auf dem Computer verwendet, über den Sie überprüfen, ob ein DHCP-Server IP-Adressen verteilt. Sobald Sie den Befehl eingeben, sucht das Tool nach DHCP-Servern, die eine IP-Adresse anbieten.

Abbildung 1: DHCP-Verkehr zwischen Client und Server überprüfen.
Abbildung 1: DHCP-Verkehr zwischen Client und Server überprüfen.

Beim Tippen von d auf der Tastatur wird eine Anfrage an DHCP-Server im Netzwerk gestellt und auf dem Bildschirm wird die vom DHCP-Server angebotene IP-Adresse und seine eigene angezeigt. Hier sind die IP-Adressen der verschiedenen Server genau ersichtlich, so dass in wenigen Sekunden eine Liste der DHCP-Server im Netzwerk angezeigt werden kann.

So finden Sie schnell heraus, ob es im Netzwerk nicht autorisierte DHCP-Server gibt, oder ob in einem Netzwerksegment die Netzwerkdaten eines DHCP-Servers nicht ankommen.

Rogue DHCP Server Detection Tool

Das Rogue DHCP Server Detection Tool zeigt ebenfalls IP-Adressen an, sowie deren Antwortzeit und die angebotene IP-Adresse.

Für das Programm muss die entsprechende Netzwerkschnittstelle erst mit einer statischen IP-Adresse konfiguriert werden. Erst dann kann Rogue DHCP Server Detection auf die Schnittstelle zugreifen, und die entsprechenden Server anzeigen.

Abbildung 2: DHCP-Server mit dem Rogue DHCP Server Detection Tool überpüfen
Abbildung 2: DHCP-Server mit dem Rogue DHCP Server Detection Tool überpüfen

Das Tool ist vor allem in Active Directory-Umgebungen interessant, da sich hier schnell ein Überblick darüber gewinnen lässt, welche DHCP-Server autorisiert sind, und welche DHCP-Server ohne Autorisierung IP-Adressen im Netzwerk verteilen.

Vergabe von IP-Adressen überprüfen mit WireShark

Neben Spezial-Tools, wie den schon vorgestellten, lässt sich der Datenverkehr von autorisierten und nicht autorisierten DHCP-Servern auch mit Tools wie WireShark überprüfen. Überwachen Sie hier die Netzwerkschnittstelle des Clients, während dieser eine IP-Adresse im Netzwerk abrufen will, sind die einzelnen Schritte zu sehen.

Hier ist dann auch zu erkennen, ob DHCP-Server nicht autorisiert Daten versenden, oder ob in bestimmten Netzwerkbereichen keine IP-Adresse ankommt. Dazu kann zum Beispiel mit ipconfig /renew in der Befehlszeile von Windows eine neue IP-Adresse angefragt werden.

Beim ersten Abrufen einer IP-Adresse sendet ein Client eine DHCPDISOVER-Nachricht mit seiner MAC-Adresse als Broadcast in das Netzwerk. Das Paket erhalten alle DHCP-Server im Netzwerk. Die Absenderadresse ist 0.0.0.0, die Zieladresse 255.255.255.255. Wenn ein Client bereits über eine IP-Adresse verfügt hat, sendet er diese mit, um den Lease zu erneuern. DHCP-Server, die jetzt antworten, sende eine DHCPOFFER-Nachricht.

Hier ist in Tools wie WireShark zu sehen, von welchen IP-Adressen im Netzwerk eine DHCPOFFER-Nachricht geschickt wird. So lassen sich zuverlässig alle DHCP-Server im Netzwerk finden. Die DHCPOFFER-Nachricht enthält auch die vorgeschlagenen IP-Adressen für den Client.

Bei der Nachricht werden auch andere Daten übermittelt:

Die Renewal Time Value gibt die Anzahl an Sekunden an, wann der Client sich mit RENEW beim DHCP-Server meldet, um seine IP-Adresse zu erneuern. Der Standard sind 50 Prozent der Lease Time. Der Wert Rebinding Time Value gibt die Anzahl an Sekunden an, die der Client darauf wartet, ob er seine bisherige IP-Adresse behalten kann. Der Wert beträgt meistens 87,5 Prozent der vollen Lease Time. Die Leasedauer selbst wird mit IP Address Lease Time angezeigt.

Clients sammeln die DHCPDISCOVER-Nachrichten und entscheiden dann, welche IP-Adresse akzeptiert wird. Dabei spielen Lease-Dauer und andere Faktoren eine Rolle. Der Server erhält dann einen DHCPREQUEST. Der DHCP-Server informiert den Client anschließend mit einer DHCPACK-Nachricht, und bestätigt die IP-Adressen. Die Anderen DHCP-Server senden eine DHCPNAK-Nachricht und ziehen die angebotene IP-Adresse wieder zurück. Dieser Datenverkehr kann in WireShark nachvollzogen werden.

DHCP-Server mit Linux testen

Auch auf Linux-Clients kann der Datenverkehr zu DHCP-Servern mit WireShark überprüft werden. Um DHCP-Server über ein Tool zu testen, können Sie auf dhtest setzen.

Erfahren Sie mehr über LAN-Design und Netzwerkbetrieb