ping是個使用頻率極高的實用程序,用于確定本地主機是否能與另一臺主機交換(發送與接收)數據報。根據返回的信息,你就可以推斷tcp/ip參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一臺主機進行一次或兩次數據報交換并不表示tcp/ip配置就是正確的,你必須執行大量的本地主機與遠程主機的數據報交換,才能確信tcp/ip的正確性。簡單的說,ping就是一個測試程序,如果ping運行正確,你大體上就可以排除網絡訪問層、網卡、modem的輸入輸出線路、電纜和路由器等存在的故障,從而減小了問題的范圍。但由于可以自定義所發數據報的大小及無休止的高速發送,ping也被某些別有用心的人作為ddos(拒絕服務攻擊)的工具,前段時間yahoo就是被黑客利用數百臺可以高速接入互聯網的電腦連續發送大量ping數據報而癱瘓的。
網絡命令的原理是什么?
按照缺省設置,windows上運行的ping命令發送4個icmp(網間控制報文協議)回送請求,每個32字節數據,如果一切正常,你應能得到4個回送應答。ping能夠以毫秒為單位顯示發送回送請求到返回回送應答之間的時間量。如果應答時間短,表示數據報不必通過太多的路由器或網絡連接速度比較快。ping還能顯示ttl(time to live存在時間)值,你可以通過ttl值推算一下數據包已經通過了多少個路由器:源地點ttl起始值(就是比返回ttl略大的一個2的乘方數)-返回時ttl值。例如,返回ttl值為119,那么可以推算數據報離開源地址的ttl起始值為128,而源地點到目標地點要通過9個路由器網段(128-119);如果返回ttl值為246,ttl起始值就是256,源地點到目標地點要通過10個路由器網段。
正常情況下,當你使用ping命令來查找問題所在或檢驗網絡運行情況時,你需要使用許多ping命令,如果所有都運行正確,你就可以相信基本的連通性和配置參數沒有問題;如果某些ping命令出現運行故障,它也可以指明到何處去查找問題。