今天和你聊聊PING命令。
一般來說,網(wǎng)工們通常會(huì)用它來直接ping ip地址,來測試網(wǎng)絡(luò)的連通情況。
類似這種,ping ip地址或網(wǎng)關(guān),然后ping通后會(huì)顯示出以上數(shù)據(jù)。
再通過Ping返回的TTL值大小,粗略地判斷目標(biāo)系統(tǒng)類型是Windows系列還是UNIX/Linux系列。
但你還了解別的嗎,除了這個(gè),PING還能這么用?
ping-t、ping-a、ping-n、ping-l size、ping-r count,這些你都用上了嗎?
ping幾百到1000個(gè)ip地址,怎么批量?
今天就來討論下PING的其他用法,你用過幾個(gè),又有幾個(gè)還沒用上。
ping-t的使用
不間斷地Ping指定計(jì)算機(jī),直到管理員中斷。
這就說明電腦連接路由器是通的,網(wǎng)絡(luò)效果很好。
可以按住鍵盤的Ctrl+C終止它繼續(xù)ping下去,就會(huì)停止了,會(huì)總結(jié)出運(yùn)行的數(shù)據(jù)包有多少,通斷的有多少。
ping-a的使用
ping-a解析計(jì)算機(jī)名與NetBios名。
就是可以通過ping它的ip地址,可以解析出主機(jī)名。
當(dāng)你遇到一個(gè)ip,卻不知道它是哪個(gè)設(shè)備時(shí),這時(shí)你可以通過ping -a知道它的主機(jī)名。
ping-n的使用
在默認(rèn)情況下,一般都只發(fā)送四個(gè)數(shù)據(jù)包。
通過這個(gè)命令可以自己定義發(fā)送的個(gè)數(shù),對衡量網(wǎng)絡(luò)速度很有幫助。
比如你想測試發(fā)送10個(gè)數(shù)據(jù)包的返回的平均時(shí)間為多少,最快時(shí)間為多少,最慢時(shí)間為多少?
可以這樣獲知:
從上面操作,你就可以知道在給47.93.187.142發(fā)送10個(gè)數(shù)據(jù)包的過程當(dāng)中,返回了10個(gè),沒有丟失,這10個(gè)數(shù)據(jù)包當(dāng)中返回速度最快為32ms,最慢為55ms,平均速度為37ms。
說明你的網(wǎng)絡(luò)良好。
如果對于一些不好的網(wǎng)絡(luò),比如監(jiān)控系統(tǒng)中非常卡頓,這樣測試,返回的結(jié)果可能會(huì)顯示出丟失出一部分。
丟失的比較多的話,那么就說明網(wǎng)絡(luò)不好。
通過這個(gè),可以很直觀地判斷出網(wǎng)絡(luò)的情況。
ping-l size的使用
ping-l size:發(fā)送size指定大小的到目標(biāo)主機(jī)的數(shù)據(jù)包。
在默認(rèn)的情況下Windows的ping發(fā)送的數(shù)據(jù)包大小為32byt,最大能發(fā)送65500byt。
當(dāng)一次發(fā)送的數(shù)據(jù)包大于或等于65500byt時(shí),將可能導(dǎo)致接收方計(jì)算機(jī)宕機(jī)。
所以微軟限制了這一數(shù)值;這個(gè)參數(shù)配合其它參數(shù)以后危害非常強(qiáng)大,比如攻擊者可以結(jié)合-t參數(shù)實(shí)施DOS攻擊(所以它具有危險(xiǎn)性,不要輕易向別人計(jì)算機(jī)使用)。
例如:ping -l 65500 -t 211.84.7.46
會(huì)連續(xù)對IP地址執(zhí)行ping命令,直到被用戶以Ctrl+C中斷。
這樣它就會(huì)不停地向211.84.7.46計(jì)算機(jī)發(fā)送大小為65500byt的數(shù)據(jù)包。
如果你只有一臺(tái)計(jì)算機(jī)也許沒有什么效果,但有很多計(jì)算機(jī),就可以使對方完全癱瘓,網(wǎng)絡(luò)嚴(yán)重堵塞,由此可見威力非同小可。
ping-r count
這個(gè)命令在“記錄路由”字段中記錄傳出和返回?cái)?shù)據(jù)包的路由,探測經(jīng)過的路由個(gè)數(shù),但最多只能跟蹤到9個(gè)路由。
ping -n 1 -r 9 202.102.224.25 (發(fā)送一個(gè)數(shù)據(jù)包,最多記錄9個(gè)路由)。
將經(jīng)過 9個(gè)路由都顯示出來了,可以看上圖。
也就是說可以跟蹤ip地址所經(jīng)過的9個(gè)路由,在檢查故障時(shí)可以快速定位。
如何同時(shí)批量ping多個(gè)IP地址
01ping一個(gè)網(wǎng)段
對于一個(gè)網(wǎng)段ip地址眾多,如果單個(gè)檢測實(shí)在麻煩,那么你可以直接批量ping網(wǎng)段檢測,那個(gè)ip地址出了問題,一目了然。
先看代碼,直接在命令行窗口輸入:
for /L %D in (1,1,255) do ping 10.168.1.%D
IP地址段修改成你要檢查的IP地址段。
當(dāng)輸入批量命令后,那么它就自動(dòng)把網(wǎng)段內(nèi)所有的ip地址都ping完為止。
那么這段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代碼是什么意思呢?
代碼中的這個(gè)(1,1,255)就是網(wǎng)段起與始。
檢測網(wǎng)段192.168.1.1到192.168.1.255之間的所有的ip地址,每次逐增1,直接到1到255這255個(gè)ip檢測完為止。
02ping網(wǎng)段升級
上面的命令雖然能批量ping 地址,但是代碼在命令行窗口顯示數(shù)量多的時(shí)候看起來也很麻煩,那么再升級一下,用下面的代碼。
for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt
說明,ip地址是變的,你填你需要測的ip網(wǎng)段就行,a.txt也是變的,可以自己設(shè)置名稱。
這樣就會(huì)把結(jié)果導(dǎo)入到a.txt文件中,全部IP檢查完成后打開a.txt搜索“TTL=”包含它的就是通的地址,沒有包含“TTL=”的地址就是不通的。
如下圖:
打開后,就直接搜索沒TTL的就可以了。
03ping網(wǎng)段命令再升級
很多人要說了這樣還要搜索,也不是太方便,需要這樣查來查去,那么你再看下,是否有更簡便的方法呢?
第一監(jiān)控之前就發(fā)過。
答案肯定是有的,你看代碼。
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)
這段代碼會(huì)將ping通的IP和不通的IP分別放到兩個(gè)文件里面,這樣是不是很方便啦,如下圖:
這段代碼非常實(shí)用,在大網(wǎng)絡(luò)中可以用到,就是大家在輸入的時(shí)候需要細(xì)心,不過也沒有關(guān)系,可以直接把這個(gè)文章收藏,日后要用,直接復(fù)制里面代碼,然后改下里面ip地址就行了。
04ping網(wǎng)段命令終極方法
上面提到的三種代碼提到的都是針對同一個(gè)網(wǎng)段內(nèi)ip地址批量檢測,那么肯定在實(shí)際項(xiàng)目中,也可能存不同網(wǎng)段的ip地址需要同時(shí)檢測,那么怎么辦呢?
也有方法,可以把沒有規(guī)劃的ip地址同時(shí)批量檢測,你來看下代碼:
for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
看見沒,多了一個(gè)ip.txt文件,這個(gè)文件是要你自己準(zhǔn)備的。
把你ping的地址寫到這個(gè)文件里面,同時(shí)可以ping 1000個(gè)ip地址以上,代碼會(huì)自己讀取這個(gè)文件里面的ip地址,并且把結(jié)果放到兩個(gè)文件里面去。
這里就不給大家截圖了很容易理解。
以及補(bǔ)充下:
上面代碼生成的文件在你命令行默認(rèn)目錄下。也就是說如果你的命令行狀態(tài)是:
'c:windowssystem32>'那么生成的文件就在系統(tǒng)的system32目錄下面。如果是'c:'那么文件就在C盤根目錄下。
這個(gè)可以根據(jù)你的實(shí)際情況進(jìn)行調(diào)整。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7104瀏覽量
89289 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7586瀏覽量
89013 -
ping命令
+關(guān)注
關(guān)注
0文章
4瀏覽量
2406
原文標(biāo)題:想不到吧,原來ping還能這么用
文章出處:【微信號:網(wǎng)絡(luò)工程師筆記,微信公眾號:網(wǎng)絡(luò)工程師筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論