Ich schreibe Win32 API (C++) Code, um ein Netzwerk nach bestimmten Informationen abzufragen. Eine dieser Informationen ist die Endzeit des DHCP-Leases. Ich war in der Lage, die meisten Informationen zu bekommen, die ich von den Funktionen GetIpNetTable
(und/oder GetIpNetTable2
) benötigte; aber nach vielen Suchen von Google, MSDN, Stackoverflow kann ich keine Möglichkeit finden, alle Leasing-Informationen von einem beliebigen Client zu erhalten (dieser Code läuft nicht auf dem Server). Ich bin mit der Funktion GetAdaptersInfo
vertraut, die jedoch nur Informationen für die aktuelle Maschine abruft, nicht alle Maschinen im Netzwerk. Kennt jemand eine Möglichkeit, alle DHCP-Leaseinformationen eines Netzwerks von einem beliebigen Client aus zuzuordnen?Wie finden Sie DHCP-Leaseinformationen von einem beliebigen Client?
Antwort
Sie können dies tun, indem Sie einen schreibgeschützten DHCP-Server implementieren. Die Clients senden eine DHCPDISCOVER-Nachricht als Broadcast (an UDP-Port 67), die Sie empfangen können. Der antwortende DHCP-Server sendet das DHCPOFFER einschließlich der MAC-Adresse des Clients, der relevanten IP-Informationen und der Lease-Zeit zurück. Wenn der Client diese Einstellungen akzeptiert, sendet er jetzt eine DHCPREQUEST-Nachricht, sodass Ihr schreibgeschützter Server weiß, dass der Client die DHCPOFFER-Informationen verwenden wird. Sie können die DHPCACK-Bestätigung vom Server nicht sehen, aber wenn etwas für den Client fehlschlägt, wird ein neuer DHCPDISCOVER gesendet. Auf diese Weise können Sie eine Tabelle mit DHCP-Informationen einschließlich Lease-Zeiten für lokale Clients erstellen.
- 1. Führen Sie die Build-Task von einem beliebigen Ort aus
- 2. So Raycast von einem beliebigen Punkt
- 3. So finden Sie die maximale Differenz zwischen zwei beliebigen Knoten in einem Binärbaum
- 4. Einen Knoten in einem Baum von Knoten mit einer beliebigen Anzahl von Kindern finden
- 5. Wie senden Sie eine Patch-Anfrage von einem C# -Client?
- 6. Finden Sie das Geschlecht von einem Namen
- 7. Wie bekomme ich eine Thread-ID von einem beliebigen pthread_t?
- 8. Finden Sie von einem anderen finden in mongodb
- 9. Wie mit einem beliebigen Satz von Quelldateien in Make arbeiten?
- 10. Wie aktiviere ich Svn-Befehle von einem beliebigen Verzeichnis?
- 11. Toast/Benachrichtigung in einem beliebigen Benutzerprofil von einem Dienst anzeigen
- 12. Wie finden Sie beide Threads von einem Deadlock?
- 13. Wie finden Sie die oberen verschiedenen Werte von einem Array?
- 14. Wie finden Sie Commits von einem bestimmten Benutzer in Git?
- 15. Wie finden Sie die Kontrolle auf Seite von ID
- 16. Verschachteln Sie eine flache Liste basierend auf einem beliebigen Kriterium
- 17. Python: Start mit einem beliebigen Alpha-Zeichen
- 18. Wählen Sie eine Variable TimeSpan mit einem beliebigen Endpunkt aus
- 19. MATLAB: Wie Bereich einer beliebigen Oberfläche in einem 2d finden Form geschlossen
- 20. Zentrieren Sie ein Etikett in einem beliebigen Formular. VB.NET
- 21. XSD: Definieren Sie ein Element mit einem beliebigen Namen
- 22. mysql: Speichern von beliebigen Daten
- 23. Beliebige Bibliotheken von einem beliebigen Speicherort nach dem Export laden
- 24. Kann der Werttyp von einem beliebigen Iterator (C++) abgerufen werden?
- 25. Ausführen von Java-Code auf einem Client von einem Server
- 26. boto3 Holen Sie sich eine Ressource von einem Client
- 27. Löschen Sie alle Dateien aus einem beliebigen Ordner
- 28. Fügen Sie ein Logo neben einem beliebigen DOM-Element ein
- 29. Markieren Sie Bilder (auf Schweben) auf einem beliebigen Hintergrund
- 30. So führen Sie die Stapeldatei aus einem beliebigen Ordner aus
Ein Computer kann Leasinginformationen für einen anderen Computer nicht abrufen. Nur der DHCP-Server verfügt über diese Informationen, und jeder Computer kennt nur seine eigenen Leases. Das DHCP-Protokoll enthält keine Informationen zum Abrufen von Informationen zu den Leases eines anderen Computers. Sie müssten auf jedem Rechner Ihre eigene Software ausführen, dann eine Verbindung zu dieser Software herstellen und sie über die Leases des lokalen Rechners informieren. –