在 Linux 中檢查主機網路可用性


在使用 Linux 系統時,能夠檢查特定主機的網路可用性非常重要。這對於排查連線問題、監控網路效能或簡單地檢查特定伺服器或裝置的狀態很有用。在本文中,我們將討論在 Linux 中檢查主機網路可用性的幾種方法。

Ping 命令

檢查網路可用性的最基本方法是使用 ping 命令。此命令向指定主機發送網際網路控制訊息協議 (ICMP) 回顯請求資料包,並等待響應。如果主機線上並正在響應,它將傳送回顯回覆資料包。要使用 ping 命令,只需開啟終端並鍵入“ping”,後跟要檢查的主機的主機名或 IP 地址。例如,要檢查 Google 伺服器的可用性,您將鍵入“ping google.com”。

“ping”命令用於測試網路上主機的可達性。使用 ping 命令的基本語法如下:

ping [hostname or IP address]

例如,要 ping 主機“www.example.com”,您將執行以下命令:

ping www.example.com

ping 192.168.1.1

您應該會看到如下所示的輸出:

PING www.example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=57 time=14.9 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=57 time=14.9 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=57 time=14.9 ms

此輸出表明主機可達,因為它已回覆 ping 請求。如果主機不可達,輸出將如下所示:

ping: www.example.com: Name or service not known

您還可以使用 -c 選項指定 ping 傳送的次數

ping -c 5 www.example.com

此命令將向主機發送 5 個 ping 請求。

您可以使用 -i 選項設定傳送 ping 請求之間的間隔

ping -i 2 www.example.com

此命令將以每 2 秒的間隔傳送 ping 請求。

您還可以使用 -W 選項設定 ping 響應的超時時間

ping -W 3 www.example.com

此命令將在傳送請求後等待 3 秒以獲取響應。

Traceroute 命令

另一個用於檢查網路可用性的有用命令是 traceroute 命令。此命令向指定主機發送一系列 ICMP 回顯請求資料包,並跟蹤資料包到達主機的路徑。這對於確定連線問題的原因很有用,因為它可以顯示哪些路由器或網路導致了問題。要使用 traceroute 命令,只需開啟終端並鍵入“traceroute”,後跟要檢查的主機的主機名或 IP 地址。例如,要檢查到 Google 伺服器的路由,您將鍵入“traceroute google.com”。

“traceroute”命令用於顯示資料包到達主機的路由,包括任何中間路由器。使用 traceroute 命令的基本語法如下:

traceroute [hostname or IP address]

例如,要跟蹤到主機“www.example.com”的路由,您將執行以下命令:

traceroute www.example.com

traceroute 192.168.1.1

您應該會看到如下所示的輸出:

traceroute to www.example.com (93.184.216.34), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  2.049 ms  1.892 ms  1.874 ms
 2  10.1.1.1 (10.1.1.1)  9.938 ms  9.874 ms  9.834 ms
 3  10.1.1.2 (10.1.1.2)  20.8 ms  20.724 ms  20.684 ms
 4  93.184.216.34 (93.184.216.34)  14.9 ms  14.844 ms  14.804 ms

此輸出顯示資料包到達目標主機的路由。每一行代表路由中的一個“躍點”。顯示了路由器的 IP 地址或主機名,以及資料包到達該路由器所需的時間。

您還可以使用 -m 選項指定要跟蹤的最大躍點數:

traceroute -m 20 www.example.com

此命令將跟蹤最多 20 個躍點的路由。

Netstat 命令

netstat 命令也可用於檢查網路可用性。此命令顯示各種網路統計資訊,包括網路連線的狀態、路由表和網路介面。要使用 netstat 命令檢查特定主機的網路可用性,您可以使用“-n”選項顯示 IP 地址和埠,以及“-r”選項顯示路由表。例如,要檢查主機“google.com”的路由表,您將鍵入“netstat -nr | grep google.com”。

“netstat”命令用於在 Linux 系統上顯示各種與網路相關的資訊,包括活動網路連線、路由表和網路介面統計資訊。

要檢查活動網路連線,您可以使用以下命令:

netstat -tuln

此命令將顯示所有活動的 TCP 連線以及擁有該連線的程式的程序 ID (PID)。“-t”選項顯示 TCP 連線,“-u”選項顯示 UDP 連線,“-l”選項僅顯示偵聽套接字,“-n”選項顯示數字地址而不是解析主機名。

您還可以使用以下命令檢查特定協議和埠:

netstat -tuln | grep ":80"

此命令將顯示所有在埠 80 上偵聽的 TCP 連線。

要檢查路由表,您可以使用以下命令:

netstat -r

此命令將顯示路由表,包括每個路由的目標、閘道器和網路掩碼。

Nmap 命令

另一個用於檢查網路可用性的有用工具是 nmap 命令。此命令是一個網路掃描程式,可用於檢查網路上主機、埠和服務的可用性。要使用 nmap 命令,只需開啟終端並鍵入“nmap”,後跟要檢查的主機的主機名或 IP 地址。例如,要檢查 Google 伺服器的可用性,您將鍵入“nmap google.com”。

“nmap”命令用於掃描主機或網路以查詢開放埠、正在執行的服務和其他資訊。使用 nmap 命令的基本語法如下:

nmap [hostname or IP address]

例如,要掃描主機“www.example.com”,您將執行以下命令:

nmap www.example.com

nmap 192.168.1.1

您應該會看到如下所示的輸出:

Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-23 13:00 EST
Nmap scan report for www.example.com (93.184.216.34)
Host is up (0.11s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

此輸出顯示目標主機上開放的埠以及在這些埠上執行的服務。

您還可以使用 -A 選項啟用作業系統和版本檢測、指令碼掃描和 traceroute

nmap -A www.example.com

此命令將啟用作業系統和版本檢測、指令碼掃描和 traceroute。

結論

在 Linux 中檢查主機網路可用性的方法有很多。ping、traceroute、netstat 和 nmap 命令都是排查連線問題、監控網路效能或簡單地檢查特定伺服器或裝置狀態的有用工具。透過使用這些命令,您可以輕鬆地檢查主機的網路可用性並採取必要的措施來解決可能出現的任何問題。

更新於:2023年1月25日

3K+ 閱讀量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.