LFCA:學習基本網絡命令-第4部分

在使用連接到路由器的個人電腦時,您將成為網絡的一部分。無論您是在辦公環境還是在家工作,您的電腦都將處於網絡中。

什麼是電腦網絡?

A computer network is defined as a group of 2 or more computers that are connected and can electronically communicate with each other. The computers are identified using their hostnames, IP, and mac addresses.

A simple home or office network is referred to as a LAN, short for Local Area Network. A LAN covers a small area such as a home, office, or restaurant network. In contrast, a WAN (Wide Area Network) spans a large geographical region. WAN is mostly used to connect various sites such as office buildings in different locations.

本文是LFCA系列的第4部分,在這一部分中,您將瞭解一般的網絡命令以及它們在解決連接問題時的益處。

1. 主機名命令

主機名命令顯示Linux系統的主機名。這通常在安裝期間設置或配置。要檢查主機名,請運行以下命令:

$ hostname

tecmint

2. ping 命令

簡稱為封包網際網路探測工具,ping 命令 用於檢查 2 個系統或伺服器之間的連通性。它向遠端主機發送一個 ICMP 回應並等待回覆。如果主機正常運作,回應將會反彈到來源並告知使用者該主機正常運作或可用。

ping 命令的語法如下所示。

$ ping options IP address 

舉例來說,要 ping 我本地區網中 IP 為 192.168.2.103 的主機,我將執行以下命令:

$ ping 192.168.2.103

PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data.
64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.063 ms
64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.061 ms
64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.062 ms

持續發送 ping 命令 直到按下鍵盤上的 Ctrl + C 來中斷它。然而,您可以使用 -c 選項來限制發送的封包數量。

在下面的示例中,我們發送了 5 個回應封包,一旦完成,ping 命令將停止。

$ ping 192.168.2.103 -c 5

PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data.
64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.066 ms
64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.056 ms
64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.066 ms

--- 192.168.2.103 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4088ms
rtt min/avg/max/mdev = 0.044/0.056/0.066/0.008 ms

此外,您還可以 ping 主機或伺服器的域名。例如,您可以像這樣 ping Google。

$ ping google.com

PING google.com (142.250.183.78) 56(84) bytes of data.
64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=1 ttl=117 time=2.86 ms
64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=2 ttl=117 time=3.35 ms
64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=3 ttl=117 time=2.70 ms
64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=4 ttl=117 time=3.12 ms
...

同樣地,您也可以 ping DNS。例如,您可以 ping Google 的地址,即 8.8.8.8

$ ping 8.8.8.8 -c 5

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=3.24 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=3.32 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=3.40 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=3.30 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=2.92 ms

--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 2.924/3.237/3.401/0.164 ms

A failed ping test is pointed to one of the following:

  • A host that is offline.
  • 一般網路故障。
  • 防火牆阻擋了 ICMP 請求。

3. traceroute 命令

traceroute 命令 顯示 ICMP ping 封包從您的裝置到目標主機或伺服器所經過的路由。它顯示封包在到達遠程目的地之前經過的設備的 IP 地址。

在第 2 行輸出中,顯示了一個星號 * 在往返中。這表明封包被丟棄並且未收到回應。這顯示 ping 封包被路由器丟棄,原因可能是網路擁塞等各種原因。

Traceroute 命令是一個很酷的診斷命令,您可以使用它來解決 ping 命令結果失敗的網路問題。它顯示封包被丟棄的設備。

$ traceroute google.com
Traceroute – Network Diagnostic Tool

4. mtr 命令

mtr我的追蹤)命令結合了 pingtraceroute 命令的功能。它顯示了一系列統計數據,包括每個封包通過的主機,以及所有網路跳躍的響應時間。

$ mtr google.com
mtr – network analysis and troubleshooting tool

5. ifconfig 命令

ifconfig 命令列出了附加到 PC 的網路介面,以及其他統計信息,例如與每個介面關聯的 IP 地址、子網掩碼和 MTU 等。

$ ifconfig
ifconfig – lists network interfaces

inet參數顯示網絡接口的IPv4地址,而inet6指向IPv6地址。您可以通過指定接口來查看單個接口的詳細信息,如下所示:

$ ifconfig enp0s3
Check Network Interface

6. IP 命令

您還可以使用ip address 命令來查看接口統計信息,如下所示。

$ ip address
IP Network Configuration Tool

7. ip route 命令

ip route命令打印出您的PC的路由表。

$ ip route 
OR
$ ip route show
List Network Routing Table

8. dig 命令

dig 實用工具(簡稱Domain Information Groper)是一個用於探查DNS名稱服務器的命令行工具。它以域名作為參數,並顯示主機地址、A記錄、MX(郵件交換)記錄、名稱服務器等信息。

簡而言之,dig命令是一個DNS查找實用工具,主要由系統管理員用於DNS故障排除。

$ dig ubuntu.com
dig – Network Administration Tool

9. nslookup 命令

nslookup 實用工具是另一個用於進行 DNS 查詢以檢索域名和 A 記錄的命令行工具。

$ nslookup ubuntu.com
Domain Name Server Lookup

10. netstat 命令

netstat 命令會列印出網絡接口統計信息。它可以顯示路由表、各種服務正在監聽的端口、TCP 和 UDP 連接、PID 和 UID。

要顯示連接到您的電腦的網絡接口,請執行:

$ netstat -i

Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp1s0    1500        0      0      0 0             0      0      0      0 BMU
lo       65536     4583      0      0 0          4583      0      0      0 LRU
wlp2s0    1500   179907      0      0 0        137273      0      0      0 BMRU

要查看路由表,請使用所示的 -r 選項。

$ netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 wlp2s0
link-local      0.0.0.0         255.255.0.0     U         0 0          0 wlp2s0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp2s0

要檢查活動的 TCP 連接,請調用以下命令:

$ netstat -ant
List Active TCP Connections

11. ss 命令

ss 命令是一個用於傾印套接字統計信息並以與 netstat 命令類似的方式顯示系統網絡指標的網絡工具。ss 命令比 netstat 更快,並顯示有關 TCP 和網絡統計信息的更多信息。

$ ss     #list al connections
$ ss -l  #display listening sockets 
$ ss -t  #display all TCP connection
總結

這是一個基本網絡命令的概述,將對您在家庭或辦公環境中解決小型網絡問題時特別有用。不妨不時試試,以提升您的網絡故障排除技能。

Source:
https://www.tecmint.com/basic-networking-commands/