https://blog.csdn.net/zhuying_linux/article/details/6770730
ping 指的是端對端連通,通常用 來作為可用性的檢查, 但是某些病毒木馬會強(qiáng)行大量遠(yuǎn)程執(zhí)行 ping 命令搶占你的網(wǎng)絡(luò)資 源,導(dǎo)致系統(tǒng)變慢降狠,網(wǎng)速變慢。嚴(yán)禁 ping 入侵作為大多數(shù)防火墻的一個基本功能提供給用 戶進(jìn)行選擇。
1.在同一網(wǎng)段內(nèi)
首先踪危,Ping 命令會構(gòu)建一個 固定格式的 ICMP 請求數(shù)據(jù)包, 然后由 ICMP 協(xié)議將這個數(shù)據(jù)包連同地址“192.168.0.5”一起 交給IP 層協(xié)議(和 ICMP 一樣猪落,實(shí)際上是一組后臺運(yùn)行的進(jìn)程)贞远,IP 層協(xié)議將以地址 “192.168.0.5”作為目的地址,本機(jī) IP 地址作為源地址笨忌,加上一些其他的控制信息蓝仲,構(gòu)建一 個 IP 數(shù)據(jù)包,并想辦法得到 192.168.0.5 的MAC 地址(物理地址官疲,這是數(shù)據(jù)鏈路層協(xié)議構(gòu) 建數(shù)據(jù)鏈路層的傳輸單元——幀所必需的)袱结,以便交給數(shù)據(jù)鏈路層構(gòu)建一個數(shù)據(jù)幀。
IP 層協(xié)議通過機(jī)器 B 的 IP 地址和自己的子網(wǎng)掩碼袁余,發(fā)現(xiàn)它跟自己屬同一網(wǎng)絡(luò)擎勘,就 直接在本網(wǎng)絡(luò)內(nèi)查找這臺機(jī)器的 MAC
如果以前兩機(jī)有過通信,在 A 機(jī)的 ARP 緩存表應(yīng)該 有 B 機(jī) IP 與其 MAC 的映射關(guān)系颖榜,如果沒有棚饵,就發(fā)一個 ARP 請求廣播煤裙,得到 B 機(jī)的 MAC, 一并交給數(shù)據(jù)鏈路層。
后者構(gòu)建一個數(shù)據(jù)幀噪漾,目的地址是 IP 層傳過來的物理地址硼砰,源地址 則是本機(jī)的物理地址,還要附加上一些控制信息欣硼,依據(jù)以太網(wǎng)的介質(zhì)訪問規(guī)則题翰,將它們傳送 出去。 主機(jī) B 收到這個數(shù)據(jù)幀后诈胜,先檢查它的目的地址豹障,并和本機(jī)的物理地址對比,如符合焦匈, 則接收血公;否則丟棄。接收后檢查該數(shù)據(jù)幀缓熟,將 IP 數(shù)據(jù)包從幀中提取出來累魔,交給本機(jī)的 IP 層 協(xié)議。同樣够滑,IP 層檢查后垦写,將有用的信息提取后交給 ICMP 協(xié)議,后者處理后彰触,馬上構(gòu)建 一個 ICMP 應(yīng)答包梯投,發(fā)送給主機(jī) A,其過程和主機(jī) A 發(fā)送 ICMP 請求包到主機(jī) B 一模一樣渴析。
2.不在同一網(wǎng)段內(nèi)
在主機(jī) A 上運(yùn)行“Ping 192.168.1.4”后晚伙,開始跟上面一樣吮龄,到了怎樣得到 MAC 地址時俭茧,IP 協(xié)議通過計(jì)算發(fā)現(xiàn) D 機(jī)與自己不在同一網(wǎng)段內(nèi),就直接將交由路由處理漓帚,也就是將路由的 MAC 取過來母债,至于怎樣得到路由的 MAC,跟上面一樣尝抖,先在 ARP 緩存表找毡们,找不到就廣 播吧。路由得到這個數(shù)據(jù)幀后昧辽,再跟主機(jī) D 進(jìn)行聯(lián)系衙熔,如果找不到,就向主機(jī) A 返回一個 超時的信息搅荞。