Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip

Linux網路連線相同重要,本文介紹如何使用ping命令測試連線狀況,示範「-c」、「-i」、「-I」、「s」等參數用法,同時補充127.0.0.1與192.168這兩個虛擬IP的作用。

一、Linux ping命令

想確認Linux電腦上網狀況的最簡單方式是瀏覽網頁,而瀏覽網頁在本質上是和遠端電腦建立連線,兩者之間傳送資料。這個在Linux相關的命令是「ping」,後面參數是想瀏覽的網頁網址,例如截圖所示的命令,可以看到已經發送了5個網路封包,就好像寄信一樣經過層層轉送,成功送達而且一個都沒有調包的情形:「5 received. 0 % packet loss.」。

注意到windows系統也有ping命令,不過windows的ping會傳送完就結束了,可是Linux系統的ping命令是會一直傳送,必須要手動的在鍵盤輸入組合鍵「Ctrl+C」,代表Cancel取消才會結束測試的狀態。

Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip 1

二、測試次數參數

上個步驟提到Linux的ping命令會一直測試傳送網路封包,可以簡單在後面加一個參數「-c 3」,代表count次數,後面空一格再加上3,代表只要測試三次就好了。實際檢視測試的結也是傳送三次,和上個步驟同樣順利成功,沒有掉包的情形,表示網路狀況良好。

一張含有 文字 的圖片

自動產生的描述

三、發送間隔設定

網路連線除了是否能夠順利連上,另外一個觀察重點是時間,在ping命令後面加一個參數:「-i 3」,這裡的「i」代表Interval間隔的意思,後面的「3」是三秒,因此是每隔三秒發送一次網路請求的封包,就好像每隔三秒打一次電話,看電話通不通一樣的狀況,測試結果OK。

一張含有 文字 的圖片

自動產生的描述

四、虛擬IP位址

先前步驟提到網路連線就好像寄信或者是打電話一樣,不管是寄信或者打電話,最重要的是彼此的位置,地址或者電話號碼。以全球資訊網而言是所謂的IP位址。

Linux系統可以透過命令「ip addr」瞭解目前電腦主機的IP位址,執行結果可以看到有兩個IP。第一個IP代號是「lo」或者可以說網卡名稱是「lo」,注意到有個「loopback」的英文單字,它的意思有點類似寄信給自己一樣,而自己的IP便是「127.0.0.1」。這個可說是在網路世界共通的原則,每台電腦在提到自己IP時候,想要打電話或寄信給自己進行種種的測試,都是使用「127.0.0.1」這一個IP,幾乎是從一開始在規範全球資訊網的時候,大家就已經說好了把這一個IP保留下來,它並不能夠對外連接網路,純粹用來自己打給自己。

第二個IP網卡名稱是「eth0」,位址是「192.168.31.200」,看起來好像是一個真正的IP,也就是真正的電話號碼或者地址,但其實它跟「127.0.0.1」同樣是一個特別的保留IP區段,其作用好像是網內互打的簡碼代碼,在同樣一個路由器或者是同一個 WiFi之內,彼此之間都是用192.168開頭的IP進行網內互打,所以可以想見它也是沒有辦法對外連線的IP。

Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip 5

五、127.0.0.1失敗

在查到了兩個IP位址之後,接下來當然想試看看這兩個IP到底是哪一個可以上網,還是都可以上網。於是在「ping」命令後面再加一個參數,大寫的「I」代表要用指定的 IP網卡進行連線測試。

首先用第1個網卡代號「lo」,它代表的是localhost本機,連線結果是百分之百的掉包,接著使用它的實際的IP位址:「127.0.0.1」,同樣是全部杠龜。

一張含有 文字 的圖片

自動產生的描述

六、192.168連線

接著再以第二個網卡IP進行測試,代號「eth0」以及「192.168.31.200」,連線結果成功,完全沒有掉包,可以想見這個才是實際連線所使用的IP。

Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip 8

七、網路封包大小

最後,關於網路連線還有一個重點是實際傳輸內容的大小,首先如果是普通的「ping」命令,注意到執行結果第一行有個數字是「56(84) bytes of data」,代表整個封包是有84位元,而實際內容是56位元。如果在「ping」後面再加一個參數:「-s 1000」,執行結果就會是整個封包是「1028」,而實際資料內容便是參數所設定的「1000」。

一張含有 文字 的圖片

自動產生的描述

Linux與Windows的Ping

贊贊小屋記得在公司上班的時候,如果電腦網路有問題,IT人員來幫忙幾乎每次都是在我的windows電腦開啟終端機,輸入「ping」命令,所以「ping」這個命令是在Windows和 Linux這兩個主流作業系統相通的命令,只不過如同本篇文章第一步驟所述,兩者作用稍微有點不同。這好像許多程式語言都有相同的函數或語句,而不同的作業系統既然都是以計算機運算作為目的,彼此之間當然也會有一些互相參考共通的命令,因此在接觸熟悉 Linux的過程中,其實對於 Windows作業系統也會有一定程度的幫助。

每天學習,每天充電:Linux文章合集

Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip 11
歡迎加入Line社群,口袋裡的VBA小教室!