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

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


咨詢
建站咨詢
