简介
在这个实验中,你将学习如何使用基本的命令行工具来检查 Linux 系统的网络连接情况。首先,你会使用 ping
命令测试能否访问公共服务器,并了解这个重要网络工具的基本输出信息。
接着,你将探索如何使用 nslookup
命令测试 DNS 解析,确保你的系统能够将域名转换为 IP 地址。最后,你会使用 curl
命令尝试从 Web 服务器获取内容,以此来检查网络连接。通过完成这些步骤,你将掌握在 Linux 环境中诊断常见网络问题的实用技能。
在这个实验中,你将学习如何使用基本的命令行工具来检查 Linux 系统的网络连接情况。首先,你会使用 ping
命令测试能否访问公共服务器,并了解这个重要网络工具的基本输出信息。
接着,你将探索如何使用 nslookup
命令测试 DNS 解析,确保你的系统能够将域名转换为 IP 地址。最后,你会使用 curl
命令尝试从 Web 服务器获取内容,以此来检查网络连接。通过完成这些步骤,你将掌握在 Linux 环境中诊断常见网络问题的实用技能。
在这一步中,你将学习如何使用 ping
命令来检查网络连接。ping
命令会向目标主机发送数据包,并测量数据包返回所需的时间。这有助于你确定服务器是否可达,以及你与它进行通信的速度。
如果终端尚未打开,请打开它。记住,你可以在桌面左侧找到 Xfce Terminal 图标。
现在,让我们对一个知名的公共服务器进行 ping 测试,比如 Google 的 DNS 服务器 8.8.8.8
。输入以下命令并按回车键:
ping 8.8.8.8
你会看到类似如下的输出:
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=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=... time=... ms
...
输出显示你的计算机正在向 8.8.8.8
发送数据包并接收响应。
icmp_seq
:数据包的序列号。ttl
:生存时间(Time To Live),表示数据包在被丢弃之前可以经过的跳数。time
:数据包往返服务器所需的时间(往返时间),单位为毫秒。要停止 ping
命令,请按 Ctrl + C
。
你也可以通过域名对服务器进行 ping 测试,例如 google.com
:
ping google.com
输出会类似,但 ping
会先将域名解析为 IP 地址。
PING google.com (...) 56(84) bytes of data.
64 bytes from ... (...): icmp_seq=1 ttl=... time=... ms
64 bytes from ... (...): icmp_seq=2 ttl=... time=... ms
...
使用 ping
是解决网络问题的基本方法。如果 ping
失败,则表明你的网络连接或目标服务器存在问题。
练习对几个不同的网站或 IP 地址进行 ping 测试,以熟悉该命令。
点击 继续 进入下一步。
在这一步中,你将了解 DNS(域名系统,Domain Name System),以及如何使用 nslookup
命令来测试 DNS 解析。DNS 就像是互联网的电话簿,它将人类可读的域名(如 google.com
)转换为机器可读的 IP 地址(如 8.8.8.8
)。
nslookup
命令是一个用于查询 DNS 服务器以获取域名信息的工具。
如果终端尚未打开,请打开它。
让我们使用 nslookup
来查找 google.com
的 IP 地址。输入以下命令并按回车键:
nslookup google.com
你会看到类似如下的输出:
Server: ...
Address: ...#53
Non-authoritative answer:
Name: google.com
Address: ...
Name: google.com
Address: ...
...
输出显示:
Server
:你的计算机用于查询的 DNS 服务器。Address
:DNS 服务器的 IP 地址。Non-authoritative answer
:DNS 服务器返回的信息。Name
:你查询的域名。Address
:与该域名关联的一个或多个 IP 地址。网站通常会有多个 IP 地址,以实现负载均衡和冗余。你还可以使用 nslookup
来查找与 IP 地址关联的域名(反向 DNS 查询)。让我们尝试查询 IP 地址 8.8.8.8
:
nslookup 8.8.8.8
输出大致如下:
Server: ...
Address: ...#53
Non-authoritative answer:
...
Name: dns.google.
这表明 IP 地址 8.8.8.8
与域名 dns.google.
相关联。
nslookup
是诊断与域名解析相关的网络问题的重要工具。如果你可以 ping 通一个 IP 地址,但无法 ping 通一个域名,问题可能出在 DNS 上。
通过查询不同的域名来体验 nslookup
的使用。
点击 继续 进入下一步。
在这一步中,你将使用 curl
命令来检查与 Web 服务器的连接并获取内容。curl
是一个功能多样的命令行工具,用于通过 URL 传输数据。它支持多种协议,包括 HTTP、HTTPS、FTP 等。
如果终端尚未打开,请打开它。
让我们使用 curl
来获取一个简单网页(如 example.com
)的内容。输入以下命令并按回车键:
curl example.com
你会看到 example.com
网页的 HTML 内容直接显示在终端中。
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
div {
margin: 0 auto;
width: auto;
}
}
</style>
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in examples without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
这表明你的计算机能够连接到 example.com
并获取其内容。
curl
是测试 Web 连接性、调试 Web 服务和下载文件的强大工具。
你还可以使用带有 -I
选项的 curl
仅获取 HTTP 标头,这对于在不下载整个内容的情况下检查网页状态很有用:
curl -I example.com
输出将显示响应标头:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "..."
Expires: ...
Last-Modified: ...
Server: ECS (sg2/2A3E)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1270
Date: ...
Connection: close
HTTP/1.1 200 OK
状态表示连接成功。
curl
是任何从事 Web 技术工作的人必备的工具。
点击 继续 完成本次实验。
在本次实验中,你学习了如何使用几个基本命令在 Linux 中检查互联网连接性。你首先使用 ping
命令,通过 IP 地址和域名测试与公共服务器的可达性,并观察往返时间和数据包序列。这展示了如何验证基本的网络连接并识别潜在问题。