在使用连接到路由器的个人电脑时,您将成为网络的一部分。无论您是在办公环境还是在家工作,您的计算机都将处于网络中。
什么是计算机网络?
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.
本文是第4部分的LFCA系列,在这一部分中,您将了解常见网络命令以及它们在解决连接问题中的益处。
1. 主机名命令
主机名命令显示 Linux 系统的主机名。这通常在安装过程中设置或配置。要检查主机名,请运行以下命令:
$ hostname tecmint
2. ping 命令
简称为数据包互联网探针,ping命令用于检查两个系统或服务器之间的连接。它向远程主机发送一个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命令会持续发送ICMP 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(my traceoute)命令结合了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实用工具(简称域信息探测器)是一个用于探测DNS域名服务器的命令行工具。它以域名作为参数,并显示诸如主机地址、A记录、MX(邮件交换)记录、域名服务器等信息。
简而言之,dig命令是一个DNS查找实用工具,主要由系统管理员用于DNS故障排除。
$ dig ubuntu.com

9. nslookup命令
nslookup实用程序是另一个用于进行DNS查找以检索域名和A记录的命令行工具。
$ nslookup ubuntu.com

10. netstat命令
netstat命令打印出网络接口统计信息。它可以显示路由表,各种服务正在侦听的端口,TCP和UDP连接,PID和UID。
要显示连接到您的PC的网络接口,请执行:
$ 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
要检查活动的
$ netstat -ant

11. ss命令
ss命令是一个网络工具,用于转储套接字统计信息,并以与netstat命令类似的方式显示系统网络指标。ss命令比netstat更快,并显示有关TCP和网络统计信息的更多信息。
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
Summary
那是基本网络命令概述,尤其在家庭或办公环境中排除小型网络问题时会很有用。不妨时不时尝试一下,以提高您的网络故障排除技能。