在 Linux 中检查主机的网络可用性

linuxopen sourceoperating system更新于 2026/1/25 6:22:17

使用 Linux 系统时,检查特定主机的网络可用性非常重要。这对于排查连接问题、监控网络性能或检查特定服务器或设备的状态都非常有用。本文将讨论几种在 Linux 中检查主机网络可用性的方法。

Ping 命令

检查网络可用性的最基本方法是使用 ping 命令。此命令向指定主机发送互联网控制消息协议 (ICMP) 回显请求数据包,并等待响应。如果主机在线并响应,它将发送回显回复数据包。要使用 ping 命令,只需打开终端并输入"ping",然后输入要检查的主机的主机名或 IP 地址。例如,要检查 Google 服务器的可用性,请输入"ping google.com"。

"ping"命令用于测试网络上主机的可达性。使用 ping 命令的基本语法是 -

ping [主机名或 IP 地址]

例如,要 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: 名称或服务未知

您还可以使用 -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 [主机名或 IP 地址]

例如,要跟踪到主机"www.example.com"的路由,您可以运行以下命令 -

traceroute www.example.com

or

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 [主机名或 IP 地址]

例如,要扫描主机"www.example.com",您可以运行以下命令:-

nmap www.example.com

or

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 选项启用操作系统和版本检测、脚本扫描和路由跟踪。

nmap -A www.example.com

此命令将启用操作系统和版本检测、脚本扫描和路由跟踪。

结论

在 Linux 中,有几种方法可以检查主机的网络可用性。ping、traceroute、netstat 和 nmap 命令都是用于排查连接问题、监控网络性能或简单检查特定服务器或设备状态的有用工具。通过使用这些命令,您可以轻松检查主机的网络可用性,并采取必要的步骤来解决可能出现的任何问题。


相关文章


有用资源