在 Linux 中检查主机的网络可用性
使用 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 命令都是用于排查连接问题、监控网络性能或简单检查特定服务器或设备状态的有用工具。通过使用这些命令,您可以轻松检查主机的网络可用性,并采取必要的步骤来解决可能出现的任何问题。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

