我正在寫Win32 API(C++)代碼來查詢網絡的某些信息。其中一條信息是DHCP租約結束時間。我能夠從GetIpNetTable
(和/或GetIpNetTable2
)的功能中獲得大部分所需的信息;但在谷歌,MSDN,Stackoverflow搜索加載後,我無法找到從任意客戶端獲取所有租賃信息的方式(此代碼不在服務器上運行)。我熟悉GetAdaptersInfo
函數,但它只能檢索當前機器的信息,而不是網絡上的所有機器。有誰知道從任意客戶端映射網絡的所有DHCP租用信息的方法嗎?如何從任意客戶端查找DHCP租約信息?
3
A
回答
1
您可以通過實施一個只讀的DHCP服務器來做到這一點。客戶端將發送一個DHCPDISCOVER消息作爲您可以接收的廣播(在UDP端口67上)。響應的DHCP服務器將廣播回DHCPOFFER,包括客戶端的MAC地址,相關的IP信息和租用時間。如果客戶端接受這些設置,它現在將廣播一條DHCPREQUEST消息,以便您的只讀服務器知道客戶端將嘗試使用DHCPOFFER信息。您無法從服務器看到DHPCACK確認,但如果客戶端發生故障,它將發送一個新的DHCPDISCOVER。通過這種方式,您可以構建DHCP信息表,包括本地客戶端的租用時間。
相關問題
- 1. 從DHCP客戶端獲取DHCP租約時間信息Win7
- 2. DHCP租約檢查
- 3. 如何查詢路由器查找Dhcp租賃信息?
- 4. DHCP客戶端信息請求
- 5. Python dhcp客戶端
- 6. 如何查找連接的MQTT客戶端詳細信息
- 7. 實現DHCP客戶端
- 8. 每個接口的靜態dhcp租約
- 9. asp.net任意用戶信息
- 10. GoogleApps java客戶端信息
- 11. 客戶端進度信息?
- 12. 如何查看有關Firebase JavaScript客戶端的詳細信息?
- 13. 設備DHCP信息
- 14. 意圖打開電子郵件客戶端,短信客戶端
- 15. 如何從網站獲取客戶端系統信息?
- 16. 如何從kubernetes pod獲取客戶端域信息?
- 17. 如何從websocket(客戶端)打印流信息?
- 18. 如何在asp.net中查找客戶信息
- 19. 一個基本的DHCP客戶端
- 20. Windows DHCP客戶端主機名編碼
- 21. DHCP服務器能否提供比DHCP客戶端所請求的更長的租用時間?
- 22. 一般如何找出客戶端是否分配了靜態Ip或是否是DHCP客戶端
- 23. 從CLI客戶端編寫GUI客戶端的任何建議?
- 24. 如何防止nodejs應用程序記錄任何客戶端信息
- 25. 存儲客戶端的正確信息
- 26. ZeroMQ獲取客戶端連接信息
- 27. 錯誤信息:客戶端驗證
- 28. SignalR - 存儲客戶端信息
- 29. 客戶端需要MVC路由信息?
- 30. GlusterFS在客戶端的統計信息
一臺機器無法檢索另一臺機器的租賃信息。只有DHCP服務器具有該信息,並且每臺計算機只知道自己的租賃。 DHCP協議中沒有任何內容可以查詢有關另一臺機器租賃的信息。您必須在每臺計算機上運行自己的軟件,然後與該軟件建立連接,並向其報告本地計算機的租賃情況。 –