新聞中心
Ping是我們常用的網(wǎng)絡(luò)工具之一。常常用于測(cè)試網(wǎng)絡(luò)是否通暢、服務(wù)器是否在線(xiàn)等等。但你知道嗎,ping不僅可以測(cè)試網(wǎng)絡(luò)通訊,還可以用來(lái)獲取時(shí)間戳。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括坡頭網(wǎng)站建設(shè)、坡頭網(wǎng)站制作、坡頭網(wǎng)頁(yè)制作以及坡頭網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,坡頭網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到坡頭省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
在Linux下,我們可以使用ping來(lái)獲取目標(biāo)主機(jī)所在時(shí)區(qū)的當(dāng)前時(shí)間,以及ICMP報(bào)文的時(shí)間戳信息。這些時(shí)間戳信息包括:發(fā)包時(shí)間、收包時(shí)間、往返時(shí)間等。
下面著重介紹一下ping獲取時(shí)間戳的方法。
1. 發(fā)送ICMP時(shí)間戳請(qǐng)求
在Linux下,我們可以使用ping命令的-t選項(xiàng)來(lái)發(fā)出時(shí)間戳請(qǐng)求。該選項(xiàng)將在ICMP包的數(shù)據(jù)部分中添加時(shí)間戳信息,并將此數(shù)據(jù)發(fā)送到目標(biāo)主機(jī)。當(dāng)目標(biāo)主機(jī)收到發(fā)送的數(shù)據(jù)包后,會(huì)將時(shí)間戳信息回傳到本機(jī)。
下面是使用-t選項(xiàng)進(jìn)行時(shí)間戳請(qǐng)求的ping命令:
“`shell
$ ping -t
“`
該命令將會(huì)向目標(biāo)主機(jī)發(fā)送時(shí)間戳請(qǐng)求,并一直進(jìn)行ping操作直到手動(dòng)中斷。
2. 解析反饋的時(shí)間戳信息
當(dāng)我們發(fā)送了時(shí)間戳請(qǐng)求之后,目標(biāo)主機(jī)會(huì)返回ICMP包,其中包含有時(shí)間戳信息。我們需要對(duì)這些信息進(jìn)行解析,才能得出目標(biāo)主機(jī)的時(shí)間以及ICMP報(bào)文中的時(shí)間戳信息。
下面是一個(gè)ping的例子:
“`shell
$ ping -t 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.274 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.272 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.271 ms
64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.244 ms
^C
— 10.0.0.2 ping statistics —
4 packets tranitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.244/0.265/0.274/0.029 ms
“`
其中,“time”字段表示本機(jī)到目標(biāo)主機(jī)的往返時(shí)間,即網(wǎng)絡(luò)延遲。我們需要注意的是,“time”字段的單位為毫秒。
此外,我們還可以使用ping命令的選項(xiàng)進(jìn)行更完整的時(shí)間戳信息顯示:
“`shell
$ ping -t -D
“`
此時(shí)ping命令將在ICMP包中插入時(shí)間戳信息,然后在每次收到反饋時(shí)將此信息解析出來(lái)并顯示,包括發(fā)包時(shí)間、對(duì)應(yīng)數(shù)據(jù)包的ID、收包時(shí)間、往返時(shí)間等詳細(xì)信息。
3. 利用時(shí)間戳信息計(jì)算目標(biāo)主機(jī)的時(shí)間
一旦我們從ICMP報(bào)文中獲取到了目標(biāo)主機(jī)的時(shí)間戳信息,就可以開(kāi)始計(jì)算出目標(biāo)主機(jī)的時(shí)間了。具體方法是:
– 我們需要獲取本機(jī)的時(shí)間戳(通常用1970-01-01 00:00:00 UTC至現(xiàn)在的秒數(shù)表示)。
– 然后,我們從ping所獲取到的發(fā)包時(shí)間和收包時(shí)間中分別減去本機(jī)的時(shí)間戳,得到以秒為單位的時(shí)間差。
– 將得到的時(shí)間差加上服務(wù)器的時(shí)區(qū)偏移量,即可得到目標(biāo)服務(wù)器的時(shí)間。
下面是一個(gè)簡(jiǎn)單的bash腳本,可以實(shí)現(xiàn)從ping反饋中獲取時(shí)間戳并計(jì)算目標(biāo)服務(wù)器的時(shí)間:
“`bash
#!/bin/bash
if [ $# -eq 0 ]; then
echo “Usage: $(basename $0) “
exit 1
fi
ping -t -D $1 |
while read -r line
do
# 匹配所有格式為:time=xxx 的行
if [[ $line =~ time=([0-9\.]+) ]]; then
# 獲取時(shí)間戳
now=$(date ‘+%s’)
# 計(jì)算時(shí)間差
offset=$(echo “${BASH_REMATCH[1]} * 1000” | bc)
# 輸出服務(wù)器時(shí)間
echo $(expr $now + $offset / 1000)
fi
done
“`
使用該腳本時(shí),只需要傳入目標(biāo)主機(jī)的IP地址即可,如下所示:
“`shell
$ ./pingtime.sh 10.0.0.2
1594605664
1594605664
1594605664
1594605664
“`
以上腳本中,我們采用了正則表達(dá)式來(lái)匹配ping反饋中的時(shí)間戳信息,然后再根據(jù)TCP協(xié)議中規(guī)定的計(jì)算方法,得出目標(biāo)服務(wù)器的時(shí)間。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
linux上的ping命令是什么
很多朋友都想知道linux上的ping命令是什么?下面就一起來(lái)看看吧!
linux上的ping命令是什么
Linux系統(tǒng)的ping命令是經(jīng)常被用到的網(wǎng)絡(luò)命令,常常用來(lái)測(cè)試與目標(biāo)主機(jī)的連通性,一些服務(wù)器為了防止被ping探測(cè)到,所以通過(guò)防火墻設(shè)置了禁止ping或者在內(nèi)核參數(shù)中禁止ping,這樣也就不能通過(guò)ping確定該主機(jī)是否還處于開(kāi)啟狀態(tài)。
Linux的語(yǔ)言
linux開(kāi)發(fā)用的是C語(yǔ)言和匯編語(yǔ)言。C語(yǔ)言是Linux的“母語(yǔ)”,這也是linux這個(gè)開(kāi)源環(huán)境和本身機(jī)制所導(dǎo)致的。Linux的內(nèi)核部分基本都是用C語(yǔ)言來(lái)編寫(xiě)的,還有部分是用匯編語(yǔ)言寫(xiě)的。
Linux ping命令用于檢測(cè)主機(jī)。
執(zhí)行ping指令會(huì)使用ICMP傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒(méi)有問(wèn)題,就會(huì)回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。
語(yǔ)法:
ping
參數(shù):
-d 使用Socket的SO_DEBUG功能。
-c 設(shè)置完成要求回應(yīng)的次數(shù)。
-f 極限檢測(cè)。
-i 指定收發(fā)信息的間隔時(shí)間。
-l 使用指定的網(wǎng)絡(luò)接口送出數(shù)據(jù)包。
-l 設(shè)置在送出要求信息之前,先行發(fā)出的數(shù)據(jù)包。
-n 只輸出數(shù)值。
-p 設(shè)置填滿(mǎn)數(shù)據(jù)包的范本樣式。
-q 不顯示指令執(zhí)行過(guò)程,開(kāi)頭和結(jié)尾的相關(guān)信息除外。
-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。
-R 記錄路由過(guò)程。
-s 設(shè)置數(shù)據(jù)包的大小。
-t 設(shè)置存活數(shù)值TTL的大小。
linux 操作系統(tǒng)中怎么使用PING命令
你用的是linux系統(tǒng)嗎?好的:我來(lái)告訴你“ifconfig”這個(gè)命令是查看你的ip地址的!~輸入命令看到后“eth0”這塊網(wǎng)卡就是你上網(wǎng)用的!~如果你想配置ip地址的話(huà)輸入netconfig如果你是拉別人的網(wǎng)線(xiàn)的話(huà)
用自動(dòng)獲取ip的話(huà)在輸入netconfig命令后的見(jiàn)面中直接敲“空格”就好了。如果你是自己配置地址的話(huà)
在界面中自己輸入ip——子網(wǎng)掩碼——網(wǎng)關(guān)——DNS就好了!~如果成功記得采納我的意見(jiàn)哦!
1、首先將linux操作系統(tǒng)聯(lián)網(wǎng),點(diǎn)擊鼠標(biāo)右鍵選擇終端機(jī)。
2、ping命令+網(wǎng)址,
回車(chē)鍵
。
3、如果有IP反饋,說(shuō)明網(wǎng)絡(luò)是么有問(wèn)題的。反之無(wú)反饋,說(shuō)明IP有問(wèn)題。
4、如果你要停止ping,那么Ctrl+c,即可停止。
5、如果是放入后臺(tái)繼續(xù)ping,那么Ctrl+z即可。
6、但是ping跟win上的ping不一樣,它不會(huì)自動(dòng)停止,需要按照?qǐng)D示代碼設(shè)置ping的次數(shù)。
7、如圖所示即可ping指定的次數(shù)。
在Linux下使用Ping檢查網(wǎng)絡(luò)連通性有六個(gè)步驟:
1.使用ifconfig觀察本地網(wǎng)絡(luò)設(shè)置是否正確;
2.Ping 127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協(xié)議有沒(méi)有設(shè)置好;
3.Ping本機(jī)IP地址,這樣是為了檢查本機(jī)的IP地址是否設(shè)置有誤;
4.Ping本網(wǎng)網(wǎng)關(guān)或本網(wǎng)IP地址,這樣的是為了檢查硬件設(shè)備是否有問(wèn)題,也可以檢查本機(jī)與本地網(wǎng)絡(luò)連接是否正常;
5.Ping本地DNS地址,這樣做是為了檢查DNS是否能夠?qū)P正確解析;
6.Ping遠(yuǎn)程IP地址(比如百度),這主要是檢查本網(wǎng)或本機(jī)與外部的連接是否正常。
Ping用于確定本地主機(jī)是不是可以與另外一臺(tái)主機(jī)成功交換數(shù)據(jù)包,然后再根據(jù)返回的信息,我們就可以大致判斷TCP/IP參數(shù)是否設(shè)置正確,網(wǎng)絡(luò)是否暢通了。
LINUX中PING命令只要不輸入停止指令就會(huì)無(wú)限的PING下去,所以操作完成后按CTRL+C終止,具體用法可以man一下。
linux ping獲取時(shí)間戳的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux ping獲取時(shí)間戳,Linux下如何利用ping獲取時(shí)間戳,linux上的ping命令是什么,linux 操作系統(tǒng)中怎么使用PING命令的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線(xiàn)云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢(xún):028-86922220。
分享標(biāo)題:Linux下如何利用ping獲取時(shí)間戳(linuxping獲取時(shí)間戳)
網(wǎng)站地址:http://www.5511xx.com/article/cdcgodj.html


咨詢(xún)
建站咨詢(xún)
