網絡中常見的ping命令協議
網絡協議網絡防火墻路由器ICMP是“Internet Control Message Ptotocol”(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。
在網絡中經常會使用到ICMP協議。例如經常用于檢查網絡不通的ping命令,這個ping的過程實際上就是ICMP協議工作的過程。還有跟蹤路由的trancert命令也是基于ICMP協議的。
操作系統規定的ICMP數據包最大尺寸不超過64KB。通常利用這一規定進行主機攻擊。即Ping of Death攻擊。它的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。
此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成ICMP風暴,使得目標主機耗費大量的CPU資源處理,疲于奔命。
ping.exe的原理:向指定的IP地址發送一定長度的數據包,按照約定,若指定IP地址存在的話,會返回同樣大小的數據包,當然,若在特定時間內沒有返回,就是“超時”,會被認為指定的IP地址不存在。由于ping使用的是ICMP協議,有些防火墻軟件會屏蔽ICMP協議,所以有時候ping的結果只能作為參考,ping不通并不一定說明對方IP不存在。
IPSec安全策略防ping原理:通過新建一個IPSec策略過濾本機所有的ICMP數據包,這樣確實可以有效地防ping,但同時也會留下后遺癥。因為ping命令和ICMP協議有著密切的關系。在ICMP協議的應用中包含11種報文格式,其中ping命令就是利用ICMP協議中的“Echo Request”報文進行工作的。
一般在某些有特殊應用的局域網環境中,容易出現數據包丟失的現象,影響用戶正常辦公,因此建議使用防火墻。