在做軟體測試的時候時常遇到網路連線問題,今天整理了一下關於網路基礎知識中的網路命令ping命令在專案中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來詳細看下ping命令的7個基礎用法,掌握了秒變大神!
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值:資料報大小,也就是位元組。
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 100.123.23.2
會連續對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分別放到兩個檔案裡面,這樣是不是很方便啦,如下圖:
4、ping網段命令終極方法
上面提到的三種**提到的都是針對同乙個網段內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:windowssystem32>'
那麼生成的檔案就在系統的system32目錄下面。如果是'c:'那麼檔案就在c盤根目錄下。這個可以根據自己的實際情況進行調整。
linux最實用的命令
1 檢視程序服務數,例如 ps u ats3 grep commer wc l 其中 u 後面跟使用者,grep commer 是看ats3使用者下的commer服務數,wc l 看行數 2 按時間排序檢視檔案 ls lrt 3 vi中的命令 set nu 顯示行數 按x鍵 刪除游標處的乙個字元 按...
最簡單實用的git命令
整理了以下最簡單實用的git命令,幫助和我一樣學習git時一頭霧水的朋友門能夠簡單入門 本地倉庫由git維護的三顆 數 組成 工作目錄 暫存區 index head 最後一次提交的結果 我以新建本地倉庫 轉殖遠端倉庫兩種常用的方式來介紹最簡單的命令 一 建立本地倉庫 1.首先初始化配置,在使用 gi...
ping 命令 Ping命令
簡單介紹使用ping命令檢查網路連線是否可達以及分析網路發生故障的位置。其中,ping用於檢查網路連線及主機是否可達 ping命令主要用於檢查網路連線及主機是否可達。ping功能是基於icmp協議來實現的 源端向目的端傳送icmp請求 echo request 報文後,根據是否收到目的端的icmp應...