有朋友反映,能不能講下ping命令的使用,TTL值、time值是什麼意思?如何批量ping ip地址?其實對于命令的使用我們之前提到過一些,不斷的有朋友問起,ping命令在項目中使用的頻率最高,一般我們用的都是它的基本功能,今天我們來詳細看下ping命令詳細使用。
本篇目錄
1、ping命令的基本使用詳解
2、ping -t的使用
3、ping -a的使用
4、ping -n的使用
5、ping -l size的使用
6、ping -r count的使用
7、如何批量ping 幾百到1000個ip地址
一、ping基本使用詳解
在網絡中ping是一個十分強大的TCP/IP工具。它的作用主要為:
1、用來檢測網絡的連通情況和分析網絡速度
2、根據域名得到服務器IP
3、根據ping返回的TTL值來判斷對方所使用的操作系統及數據包經過路由器數量。
我們通常會用它來直接ping ip地址,來測試網絡的連通情況。
類如這種,直接ping ip地址或網關,ping通會顯示出以上數據,有朋友可能會問,bytes=32;time<1ms;TTL=128 這些是什麼意思。
bytes值:數據包大小,也就是字節。
time值:響應時間,這個時間越小,說明你連接這個地址速度越快。
TTL值:Time To Live,表示DNS記錄在DNS服務器上存在的時間,它是IP協議包的一個值,告訴路由器該數據包何時需要被丢棄。可以通過Ping返回的TTL值大小,粗略地判斷目标系統類型是Windows系列還是UNIX/Linux系列。
因此一般TTL值:
100~130ms之間,Windows系統 ;
240~255ms之間,UNIX/Linux系統。
當然,我們今天主要了解并不是這些,而是ping的其它參考。
ping命令除了直接ping網絡的ip地址,驗證網絡暢通和速度之外,它還有這些用法。
二、ping -t的使用
不間斷地Ping指定計算機,直到管理員中斷。
這就說明電腦連接路由器是通的,網絡效果很好。下面按按住鍵盤的Ctrl c終止它繼續ping下去,就會停止了,會總結出運行的數據包有多少,通斷的有多少了。
三、ping -a的使用
ping-a解析計算機名與NetBios名。就是可以通過ping它的ip地址,可以解析出主機名。當你遇到一個ip,卻不知道他是那個設備時,這時你可以通過ping -a知道它的主機名。
四、ping -n的使用
在默認情況下,一般都隻發送四個數據包,通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助,比如我想測試發送10個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下獲知:
從以上我就可以知道在給47.93.187.142發送10個數據包的過程當中,返回了10個,沒有丢失,這10個數據包當中返回速度最快為32ms,最慢為55ms,平均速度為37ms。說明我的網絡良好。
如果對于一些不好的網絡,比如監控系統中非常卡頓,這樣測試,返回的結果可能會顯示出丢失出一部分,如果丢失的比較多的話,那麼就說明網絡不好,可以很直觀的判斷出網絡的情況。
五、ping -l size的使用
ping-l size:發送size指定大小的到目标主機的數據包。
在默認的情況下Windows的ping發送的數據包大小為32byt,最大能發送65500byt。當一次發送的數據包大于或等于65500byt時,将可能導緻接收方計算機宕機。所以微軟限制了這一數值;這個參數配合其它參數以後危害非常強大,比如攻擊者可以結合-t參數實施DOS攻擊。(所以它具有危險性,不要輕易向别人計算機使用)。
例如:ping -l 65500 -t 211.84.7.46
會連續對IP地址執行ping命令,直到被用戶以Ctrl C中斷.
這樣它就會不停的向211.84.7.46計算機發送大小為65500byt的數據包,如果你隻有一台計算機也許沒有什麼效果,但如果有很多計算機那麼就可以使對方完全癱瘓,網絡嚴重堵塞,由此可見威力非同小可。
六、ping -r count 的使用
這個命令在"記錄路由"字段中記錄傳出和返回數據包的路由,探測經過的路由個數,但最多隻能跟蹤到9個路由。
ping -n 1 -r 9 202.102.224.25 (發送一個數據包,最多記錄9個路由)
将經過 9個路由都顯示出來了,可以看上圖。也就是說可以跟蹤ip地址所經過的9個路由,在檢查故障時可以快速定位。
七、如何同時批量ping多個ip地址
1、ping一個網段
對于一個網段ip地址衆多,如果單個檢測實在麻煩,那麼我們可以直接批量ping網段檢測,那個ip地址出了問題,一目了然。
先看代碼,直接在命令行窗口輸入:
for /L %D in (1,1,255) do ping 10.168.1.%D
IP地址段修改成你要檢查的IP地址段。
當輸入批量命令後,那麼它就自動把網段内所有的ip地址都ping完為止。
那麼這段"for /L %D in(1,1,255) do ping 10.168.1.%D" 代碼是什麼意思呢?
代碼中的這個(1,1,255)就是網段起與始,就是檢測網段192.168.1.1到192.168.1.255之間的所有的ip地址,每次逐增1,直接到1到255這255個ip檢測完為止。
;
2、ping網段升級
上面的命令雖然能批量ping 地址,但是上面代碼在命令行窗口顯示數量多的時候看起來也很麻煩,那麼我們再升級一下,用下面的代碼。
for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt
說明,ip地址是變的,你填你需要測的ip網段就行,a.txt也是變的,可以自已設置名稱。
這樣就會把結果導入的a.txt文件中,全部IP檢查完成後打開a.txt搜索"TTL="包含它的就是通的地址,沒有包含"TTL="的地址就是不通的。如下圖
打開後,就直接搜索沒TTL的就可以了。
3、ping網段命令再升級
很多人要說了這樣還要搜索,也不是太方便,需要這樣查來查去,那麼我們再看下,是否有更簡便的方法呢?
答案肯定是有的,我們來看代碼。
for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)
這段代碼會将ping通的IP和不通的IP分别放到兩個文件裡面,這樣是不是很方便啦,如下圖:
這段代碼非常實用,在大網絡中可以用到,就是大家在輸入的時候需要細心,不過也沒有關系,可以直接把這個文章收藏,日後要用,直接複制裡面代碼,然後改下裡面ip地址就行了。
4、ping網段命命令終極方法
上面提到的三種代碼提到的都是針對同一個網段内ip地址批量檢測,那麼肯定在實際項目中,也可能存不同網段的ip地址需要同時檢測,那麼怎麼辦呢?
也有方法,可以把沒有規劃的ip地址同時批量檢測,我們來看下代碼:
for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
看見沒有多了一個ip.txt文件,這個文件是要你自己準備的哦,把你ping的地址寫到這個文件裡面,同時可以ping 1000個ip地址以上,代碼會自己讀取這個文件裡面的ip地址,并且把結果放到兩個文件裡面去。這裡就不給大家截圖了與上圖差不多。
這裡面補充下:
上面代碼生成的文件在你命令行默認目錄下。也就是說如果你的命令行狀态是:
"c:\windows\system32>"那麼生成的文件就在系統的system32目錄下面。如果是"c:\"那麼文件就在C盤根目錄下。這個可以根據自己的實際情況進行調整。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!