在使用連接到路由器的個人電腦時,您將成為網絡的一部分。無論您是在辦公環境還是在家工作,您的電腦都將處於網絡中。
什麼是電腦網絡?
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

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

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

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

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

7. ip route 命令
ip route命令打印出您的PC的路由表。
$ ip route OR $ ip route show

8. dig 命令
dig 實用工具(簡稱Domain Information Groper)是一個用於探查DNS名稱服務器的命令行工具。它以域名作為參數,並顯示主機地址、A記錄、MX(郵件交換)記錄、名稱服務器等信息。
簡而言之,dig命令是一個DNS查找實用工具,主要由系統管理員用於DNS故障排除。
$ dig ubuntu.com

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

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

11. ss 命令
ss 命令是一個用於傾印套接字統計信息並以與 netstat 命令類似的方式顯示系統網絡指標的網絡工具。ss 命令比 netstat 更快,並顯示有關 TCP 和網絡統計信息的更多信息。
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
總結
這是一個基本網絡命令的概述,將對您在家庭或辦公環境中解決小型網絡問題時特別有用。不妨不時試試,以提升您的網絡故障排除技能。