Ubuntu利用TCP協(xié)議來獲取服務(wù)器時間的方法
這里使用Unix網(wǎng)絡(luò)編程里面的一個小程序,該客戶端建立一個到服務(wù)器的TCP連接,然后讀取由服務(wù)器以直觀可讀格式簡單地送回的當(dāng)前時間和日期.
int main(int argc, char **argv)
{
int sockfd, n;
char recvline[MAXLINE + 1];
struct sockaddr_in servaddr;
if (argc != 2)
err_quit("usage: a.out <IPaddress>");
if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
err_sys("socket error");
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(13); /* daytime server */
if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
err_quit("inet_pton error for %s", argv[1]);
if (connect(sockfd, (SA *) &servaddr, sizeof(servaddr)) < 0)
err_sys("connect error");
while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
recvline[n] = 0; /* null terminate */
if (fputs(recvline, stdout) == EOF)
err_sys("fputs error");
}
if (n < 0)
err_sys("read error");
exit(0);
}
然后我們運(yùn)行這個程序若干次,每次以不同的IP地址作為命令行參數(shù).
首先我們測試本機(jī)的時間,你必須要先打開Linux下的daytime服務(wù),方法如下
sudo vi /etc/xinetd.d/daytime
找到這一行,然后把yes改成no
測試本機(jī)
結(jié)果為:
24 OCT 2014 00:39:36 CST
那么要想測試互聯(lián)網(wǎng)上服務(wù)器的daytime,首先得找到支持用TCP協(xié)議返回時間的服務(wù)器.測試了一些可能的主機(jī),發(fā)現(xiàn)有一些可以返回,一些超時或者拒絕訪問。
可能的主機(jī)列表如下,就是windows下右下角時間同步的那個列表。

這里使用dig指令來解析域名
time.microsoft.akadns.net.
64.4.10.33
運(yùn)行程序嘗試獲取時間
./daytimetcpcli 64.4.10.33
第一次
第二次
換個服務(wù)器
[code] dig time.nist.gov
./daytimetcpcli 128.138.141.172[code]
結(jié)果
56953 14-10-23 16:46:39 11 0 0 0.0 UTC(NIST) *
可以看直觀的看出來,當(dāng)?shù)氐臅r間為下午4點(diǎn)鐘.
相關(guān)文章

Ubuntu 26.04 LTS(Resolute Raccoon)發(fā)布:內(nèi)存要求提至6GB
2026-04-23,Ubuntu 26.04 LTS 正式版按計劃如期發(fā)布,Ubuntu 26.04 LTS 搭載 Linux 內(nèi)核 7.0 和 GNOME 50 桌面環(huán)境,原生集成英偉達(dá) CUDA,內(nèi)存要求提至 6GB2026-04-24
桌面生產(chǎn)力直接拉滿! Ubuntu安裝后別急著用這7個設(shè)置一定要改
Ubuntu桌面系統(tǒng)安裝成功后,不要急著使用,修改后桌面生產(chǎn)力直接拉滿,今天我就把這7個我每次必改的設(shè)置完整分享出來,配上詳細(xì)步驟和實(shí)際效果2026-04-15
CPU和硬盤要求保持不變! Ubuntu 26.04 LTS最低內(nèi)存運(yùn)行要求提高到 6GB
Canonical即將發(fā)布“Resolute Raccoon”Ubuntu 26.04 LTS操作系統(tǒng),資料顯示推薦內(nèi)存提高至6GB,這是2018年以來首次重大變動2026-04-08
基于Linux7.0+GNOME50+Mesa26.0! Ubuntu 26.04 LTS Beta 版發(fā)布
Ubuntu 26.04 LTS測試版如期發(fā)布,此次更新將集成大量前沿開源技術(shù),Beta 測試版搭載了尚處于開發(fā)階段的 Linux 7.0 內(nèi)核、默認(rèn)采用最新的 GNOME 50.0 桌面組件、全新的 Mes2026-03-27
Ubuntu桌面系統(tǒng)爆致命漏洞! 30天可拿root權(quán)限
近日,全球知名網(wǎng)絡(luò)安全研究機(jī)構(gòu)Qualys的威脅研究部門正式披露了Ubuntu桌面系統(tǒng)的一個高危本地提權(quán)漏洞,其官方漏洞編號為CVE-2026-38882026-03-21
Ubuntu 25.10 系統(tǒng)正式發(fā)布:搭載 Linux 6.17 內(nèi)核
Ubuntu 25.10 系統(tǒng)代號“Questing Quokka”現(xiàn)已推出,集成最新的 GNOME 49 桌面環(huán)境,默認(rèn)僅啟用 Wayland 會話,提升了圖形體驗(yàn)2025-10-10
Debian 13升級后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常怎么辦? 并非錯誤而是管理機(jī)制變更
很多朋友反饋,更新到Debian 13后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常,這并非 BUG 而是 Debian 13 Trixie 調(diào)整了管理機(jī)制,具體來說是sysctl變更為由systemd-sysctl主導(dǎo)且配置文件變成模塊2025-08-22
SSH中斷/寶塔面板異常/分區(qū)問題等! Debian 13升級注意事項(xiàng)匯總
前一段時間發(fā)布了debian13,我們也分享了debian12升級到debian13的圖文教程,很多朋友在升級的時候遇到了不少問題,今天我們就來看看Debian 13升級注意事項(xiàng)2025-08-21
Debian12怎么升級到Debian13? Debian系統(tǒng)升級教程
心念念的Debian13終于正式發(fā)布了,該怎么升級呢?下面我們就來看看Debian12升級到 Debian13的教程2025-08-21
Ubuntu 24.04.3 LTS 正式發(fā)布: 附更新內(nèi)容匯總
Ubuntu 24.04 這一長期支持版本發(fā)布了第三個點(diǎn)版本升級:Ubuntu 24.04.3 LTS,涵蓋桌面、服務(wù)器與云等版本,主要是將過去數(shù)月發(fā)布的安全更新、錯誤修復(fù)和穩(wěn)定性改進(jìn)整合入2025-08-09


