ping工作過程

PING 工作原理

一、什麼是 PING 是

DOS 命令,一般用於檢測網絡通與不通 ,也叫時延,其值越大,速度越慢 PING (Packet Internet Grope),因特網包探索器,用於測試網絡連接量的程序。Ping 發 送一個 ICMP 回聲請求消息給目的地並報告是否收到所希望的 ICMP 回聲應答。

它是用來檢查網絡是否通暢或者網絡連接速度的命令。 作爲一個生活在網絡上的管理員或 者黑客來說,ping 命令是第一個必須掌握的 DOS 命令,它所利用的原理是這樣的:網絡上 的機器都有唯一確定的 IP 地址,我們給目標 IP 地址發送一個數據包,對方就要返回一個同 樣大小的數據包, 根據返回的數據包我們可以確定目標主機的存在,可以初步判斷目標主機 的操作系統等。

Ping 是 Windows 系列自帶的一個可執行命令。利用它可以檢查網絡是否能夠連通,用 好它可以很好地幫助我們分析判定網絡故障。應用格式:Ping IP 地址。該命令還可以加許 多參數使用,具體是鍵入 Ping 按回車即可看到詳細說明。ping 指的是端對端連通,通常用 來作爲可用性的檢查, 但是某些病毒木馬會強行大量遠程執行 ping 命令搶佔你的網絡資 源,導致系統變慢,網速變慢。嚴禁 ping 入侵作爲大多數防火牆的一個基本功能提供給用 戶進行選擇。通常的情況下你如果不用作服務器或者進行網絡測試,可以放心的選中它,保 護你的電腦

二、PING的工作流程 我們以下面一個網絡爲例

有 A、B、C、D 四臺機子,一臺路由 RA,子網掩碼均爲 255.255.255.0,默認路由爲 192.168.0.1 [1]

1.在同一網段內

在主機 A 上運行“Ping 192.168.0.5”後,都發生了些什麼呢? 首先,Ping 命令會構建一個 固定格式的 ICMP 請求數據包, 然後由 ICMP 協議將這個數據包連同地址“192.168.0.5”一起 交給IP 層協議(和 ICMP 一樣,實際上是一組後臺運行的進程),IP 層協議將以地址 “192.168.0.5”作爲目的地址,本機 IP 地址作爲源地址,加上一些其他的控制信息,構建一 個 IP 數據包,並想辦法得到 192.168.0.5 的MAC 地址(物理地址,這是數據鏈路層協議構 建數據鏈路層的傳輸單元——幀所必需的),以便交給數據鏈路層構建一個數據幀。關鍵就 在這裏,IP 層協議通過機器 B 的 IP 地址和自己的子網掩碼,發現它跟自己屬同一網絡,就 直接在本網絡內查找這臺機器的 MAC,如果以前兩機有過通信,在 A 機的 ARP 緩存表應該 有 B 機 IP 與其 MAC 的映射關係,如果沒有,就發一個 ARP 請求廣播,得到 B 機的 MAC, 一併交給數據鏈路層。後者構建一個數據幀,目的地址是 IP 層傳過來的物理地址,源地址 則是本機的物理地址,還要附加上一些控制信息,依據以太網的介質訪問規則,將它們傳送 出去。 主機 B 收到這個數據幀後,先檢查它的目的地址,並和本機的物理地址對比,如符合, 則接收;否則丟棄。接收後檢查該數據幀,將 IP 數據包從幀中提取出來,交給本機的 IP 層 協議。同樣,IP 層檢查後,將有用的信息提取後交給 ICMP 協議,後者處理後,馬上構建 一個 ICMP 應答包,發送給主機 A,其過程和主機 A 發送 ICMP 請求包到主機 B 一模一樣。

圖解:
這裏寫圖片描述

2.不在同一網段內

在主機 A 上運行“Ping 192.168.1.4”後,開始跟上面一樣,到了怎樣得到 MAC 地址時,IP 協議通過計算髮現 D 機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的 MAC 取過來,至於怎樣得到路由的 MAC,跟上面一樣,先在 ARP 緩存表找,找不到就廣 播吧。路由得到這個數據幀後,再跟主機 D 進行聯繫,如果找不到,就向主機 A 返回一個 超時的信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章