📅  最后修改于: 2023-12-03 15:17:23.454000             🧑  作者: Mango
当我们需要检查本机与互联网的连接是否正常时,可以在Linux终端上通过使用一些命令和工具获取该信息。本文章将介绍一些常见的方法以及如何通过 Shell-Bash 脚本定期检查网络连接。
ping
命令会发送一个 ICMP ECHO_REQUEST 到特定的 IP 地址,如果该地址可达,则返回 PONG 响应。简单地说, ping
命令可以用来测试目的地址是否能够访问。下面是一个简单的 ping
命令:
ping -c 3 www.baidu.com
其中,-c
参数用于限制 ping
命令发送请求的数量。上面命令会发送 3 次请求,并在终端上显示结果。
使用 ping
命令可以帮助我们诊断网络连接的问题。如果我们发现不能够正确地 ping
到某个地址,则可能有网络故障。
curl
和 wget
命令在 Linux 中用于从互联网上下载文件和资源。这些命令在帮助我们检查网络连接方面也是非常有用的。
下面的命令会下载一个测试网址的 index.html 页面:
curl -o /dev/null -s -w "%{http_code}\n" http://www.baidu.com
其中, -o
参数用于将下载的文件内容输出到 /dev/null
(黑洞),-s
参数表示静默模式,不输出任何信息, -w
参数指定输出格式,以 HTTP 状态码的形式返回。该命令会向百度的网站发起一个 HTTP 请求,并返回该网站的 HTTP 状态码。常见的 HTTP 状态码有 200、404、500 等。
使用 curl
或 wget
命令可以帮助我们发现比如防火墙、代理等问题。
现在,我们可以将上述命令整合到 Shell-Bash 脚本中,以定期检查网络连接。
以下是一个示例脚本,用于检查网络连接并以邮件形式通知您:
#!/bin/bash
HOSTS="www.baidu.com 192.168.1.1"
SUBJECT="网络连接测试"
for host in $HOSTS
do
ping -c 1 $host > /dev/null
if [ $? -ne 0 ]; then
echo "$host 无法访问。请注意!" | mail -s "$SUBJECT" your.email@example.com
fi
done
exit 0
该脚本使用 ping
命令检查指定的主机是否可以被访问。如果主机不可达,则使用 mail
命令向您的电子邮件发送一条消息。通过将该脚本添加到 cron,您可以定期检查您的网络连接,以确保运行良好。
以上就是本文介绍的 Linux 终端检查互联网连接的方法和 Shell-Bash 定期检查网络连接的示例。希望本文对您有所帮助。