Linux
DHCP 伺服器在 DHCP ACK 消息中不包含 NTP 伺服器地址
我正在使用 tcpdump 擷取 DHCP 數據包。客戶端發送 DHCP 請求,請求 DHCP 配置,其中包含對 NTP 伺服器的請求,但在路由器發送的 DHCP ACK 消息中沒有 NTP 伺服器資訊。伺服器不應該像使用域名伺服器一樣使用 NTP 伺服器的 IP 來回答嗎?我錯過了什麼?
如果設備由於我的家庭路由器不支持而無法通過 DHCP 獲取 NTP 伺服器的地址,那麼它可以從哪裡獲取它正在使用的 NTP 伺服器?不是手動配置的參數,有沒有其他自動獲取NTP伺服器的服務?
系統使用 connman 作為連接管理器
我附上請求和確認消息的螢幕截圖
使用的 tcpdump 命令:
tcpdump -i eth0 -n port 67 and port 68 -w capture.pcap -v
DHCP 請求
DHCP 確認
- 如果 DHCP 伺服器被配置為這樣做,它只會回答 NTP 伺服器欄位。從你的轉儲來看,它看起來不是,所以這是一個死胡同。
2)設備將使用牠喜歡的任何東西作為 NTP 伺服器 - 沒有一般規則。設備上的某個地方很可能是一個配置文件,其中包含它使用的 NTP 伺服器。
如果您對該設備有足夠的了解,可以說它使用 connman:您是否有權以 root 身份訪問該設備?或者你能看到文件系統嗎?如果是,請查看您能找到的所有配置文件。
如果設備是您無權訪問的封閉嵌入式設備,另一種選擇是監控來自設備的所有流量,直到它聯繫 NTP 伺服器,然後您就會知道。使用適當規則過濾 NTP 流量的 Wireshark/tcpdump 就可以了。如果您可以將設備連接到單個自定義 AP 或 LAN 埠(例如在某些 Linux PC 上),這將使監控更容易;但由於您已經能夠轉儲 DHCP 請求 + 響應,它也應該以這種方式工作。