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


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

Ping 命令

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

“ping”命令用于测试网络上主机的可达性。使用 ping 命令的基本语法如下:

ping [hostname or IP address]

例如,要 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: Name or service not known

您还可以使用 -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 [hostname or IP address]

例如,要跟踪到主机“www.example.com”的路由,您将运行以下命令:

traceroute www.example.com

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 个跃点的路由。

Learn Linux/Unix in-depth with real-world projects through our Linux/Unix certification course. Enroll and become a certified expert to boost your career.

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 [hostname or IP address]

例如,要扫描主机“www.example.com”,您将运行以下命令:

nmap www.example.com

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

nmap -A www.example.com

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

结论

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

更新于:2023年1月25日

3K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告