关于ping命令的工作原理
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
當(dāng)我們?cè)谟胮ing命令ping地址的時(shí)候會(huì)向target主機(jī)發(fā)送一個(gè)ICMP協(xié)議中的echo包,如果對(duì)方living(活動(dòng)狀態(tài))。
則會(huì)返回一個(gè)echo包。
TTL的值:這個(gè)值對(duì)我們有什么用,它反映了什么?
首先TTL值代表的是,我們發(fā)給目的主機(jī)的數(shù)據(jù)包(echo),在主機(jī)與目的機(jī)之間會(huì)存在很多的的路由器,而通過路由器的時(shí)候,這個(gè)值會(huì)減小,并且還可能由于
其他原因,讓數(shù)據(jù)包不能正常的發(fā)送到目的主機(jī),那么如果不給這些數(shù)據(jù)包一個(gè)生存時(shí)間的話,這個(gè)數(shù)據(jù)包會(huì)一直存在于網(wǎng)絡(luò)中,導(dǎo)致網(wǎng)絡(luò)開銷增大。如果在通過一個(gè)路由的時(shí)候TTL值減小1,那么如果經(jīng)過了幾次循環(huán),或者經(jīng)歷很多次路由之后,TTL會(huì)減小到0.那么就在網(wǎng)絡(luò)中自動(dòng)消失掉,釋放網(wǎng)絡(luò)資源。所以我們?cè)趐ing的時(shí)候看到的這個(gè)TTL值代表的是echo在網(wǎng)絡(luò)存在的時(shí)間。
不同的操作系統(tǒng),TTL值都不一樣,所以可以根據(jù)TTL值來看操作系統(tǒng)是哪種版本類型。
一般來說XP返回的TTL是64.
TTL值的注冊(cè)表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
其中有個(gè)DefaultTTL的DWORD值,其數(shù)據(jù)就是默認(rèn)的TTL值了,我們可以修改,但不能大于十進(jìn)制的255
ping工作過程:
①不知道對(duì)方MAC地址,發(fā)送ARP廣播出去,解析對(duì)方的MAC地址。
②知道MAC地址之后,在發(fā)送ICMP協(xié)議中的echo數(shù)據(jù)包。
ping的常見問題如下:
一? ping www.baidu.com
???????????? reply? from 119.75.218.56:bytes=32? time =95ms TTL=56
????? 目的主機(jī)與主句之間的連接是成功的。
二 ping request could not find host fdfd.pleses check the name and try angain.
?????? 不能找到目的主機(jī)fdfd 在ping過程中的第一個(gè)過程就已經(jīng)結(jié)束了,無法找到目的主機(jī)的,不能解析MAC地址
三 請(qǐng)求超時(shí)
??????? echo包已經(jīng)發(fā)送到目的主機(jī),并且目的主機(jī)已經(jīng)返回了echo的返回包,但是在發(fā)揮的過程中丟失,無法到達(dá)源主機(jī)。
四 來自192.168.1.5 的回復(fù):無法訪問目標(biāo)主機(jī)。
?????? 這是因?yàn)榘l(fā)送給目的主機(jī)的echo包在192.168.1.125上被迫終止,即echo包無法到達(dá)目的主機(jī)
? ?? 可能原因:某個(gè)路由器192.168.1.125的端口上,禁止來自源主機(jī)的數(shù)據(jù)包通過。
解決IP尋址錯(cuò)誤問題的步驟:
? ? ? ? ??
? ? ? ? ? ① ping 127.0.0.1 ? ?檢查本機(jī)IP棧是否初始化,失敗則重裝TCP/IP協(xié)議
? ? ? ? ? ② ping 本主機(jī)IP ? ? 檢查網(wǎng)卡NIC功能是否正常
? ? ? ? ? ③ ping 網(wǎng)關(guān) ? ? ? ? ? ?成功則NIC連接到網(wǎng)絡(luò),并且網(wǎng)絡(luò)通信正常
? ? ? ? ? ④ ping 遠(yuǎn)端主機(jī) ? ?成功則表示主機(jī)與遠(yuǎn)端主機(jī)可進(jìn)行IP通信
常用到的ping命令:
???? ping? ? -n count:發(fā)送指定次數(shù)的echo數(shù)據(jù)包、不加-n 參數(shù)的話,系統(tǒng)默認(rèn)是 ping 4次
???? 比如:ping?-n?6 www.baidu.com
ping -l length:指定echo數(shù)據(jù)包的大小、系統(tǒng)默認(rèn)的數(shù)據(jù)包是32字節(jié),最大的字節(jié)數(shù)是65527
轉(zhuǎn)載于:https://my.oschina.net/osmyblog/blog/312130
總結(jié)
以上是生活随笔為你收集整理的关于ping命令的工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++的const修饰
- 下一篇: SHELL中的IF判断