LFCA:学习基本网络命令 - 第 4 部分
任何时候,只要使用连接到路由器的 PC,您就属于网络的一部分。无论您是在办公室环境中还是在家办公,您的计算机都属于网络。
什么是计算机网络?
计算机网络是指一组 2 台或多台相互连接并能进行电子通信的计算机。计算机通过其主机名、IP 和 mac 地址进行识别。
简单的家庭或办公室网络称为LAN ,即局域网的缩写。LAN覆盖一小片区域,例如家庭、办公室或餐厅网络。相反,WAN (广域网)跨越大片地理区域。WAN主要用于连接各种站点,例如不同位置的办公楼。
本文是LFCA 系列的第 4 部分,在本部分中,您将熟悉常规网络命令以及它们在解决连接问题时有何益处。
1. hostname 命令
hostname 命令显示Linux 系统的主机名。这通常在安装期间设置或配置。要检查主机名,请运行以下命令:
$ hostname example
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
失败的 ping 测试指向以下情况之一:
- 离线的主机。
- 一般网络故障。
- 存在阻止 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
要检查活动的TCP连接,请调用以下命令:
$ netstat -ant
11. ss 命令
ss 命令是一个网络工具,用于转储套接字统计信息并以与 netstat 命令类似的方式显示系统网络指标。ss 命令比 netstat 更快,并且比 netstat 显示有关 TCP 和网络统计信息的更多信息。
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
概括
以上是对基本网络命令的概述,这些命令将非常有用,尤其是在您家庭或办公室环境中排除小型网络问题时。请不时尝试这些命令,以提高您的网络故障排除技能。