网络对于任何 Linux 用户来说都是至关重要的。 作为一个系统 admin,您需要能够与网络上的其他系统通信以共享和接收数据。 Linux 为我们提供了广泛的工具来进行交互、获取信息和排除网络故障。
用于此目的的两个强大实用程序以 Linux 中的 netstat 和 nslookup 命令的形式出现。 在本教程中,我们将介绍这些命令行实用程序的工作和使用。
目录
什么是 netstat 和 nslookup 命令?
netstat 和 nslookup 命令本质上是用于在基于 Linux 的系统中进行网络管理的命令行实用程序。 它们主要用于排除网络故障,但也可用于 DNS 查找、性能测量和调试等网络查询。 它们是强大的工具,可以满足您几乎所有的网络管理需求。
netstat 命令
Linux 中的 netstat 命令是“Network Statistics”的缩写,用于网络统计映射和配置。 此工具可帮助您分析进出系统的网络连接。 它还可以显示路由表、伪装连接和多播成员资格以及网络统计信息。 此命令是监视和排除网络故障的最重要工具之一。
1. netstat 命令的基本语法
理解任何命令的最好方法是理解它的语法。 下面是 Linux 中 netstat 命令的语法。
Netstat [option]
Linux 中的 netstat 命令只有一个参数。 调用此命令时使用的选项可以为您提供有关您的网络的广泛信息集。 虽然 netstat 命令有大量可用选项,但我们将只讨论本教程中常用的几个选项。 下表列出了它们。
选项 | 影响 |
-一种 | 列出系统上的所有网络套接字,无论它们是打开的还是关闭的。 |
-一世 | 显示有关您的系统的所有网络接口信息。 |
-l | 列出系统上所有处于侦听状态的网络套接字。 |
-C | 连续打印套接字连接。 |
-G | 显示您的网络的所有多播成员组信息。 此列表涉及 IPv4 和 IPv6 连接的信息。 |
Netstat 命令选项表
现在我们已经了解了 Linux 中的 netstat 命令及其参数。 现在是时候将这些知识用于 netstat 命令的实际应用了。 在本教程中,我们将通过一些示例来学习如何使用 netstat 命令。
2. 列出网络套接字
Linux 中 netstat 命令最基本的用途是列出网络上可用的套接字,无论它们是打开的还是关闭的。 这可以使用 -a 选项来完成,如下所示。
netstat -a
3.显示路由表
路由表包含有关网络主机和数据路由的信息。 此信息对于网络故障排除至关重要。 我们可以使用 netstats 命令来显示路由表,如下所示。
netstat -r
4.检查哪个端口正在运行服务
当服务在尝试连接到网络时遇到问题时,通常是与用于连接的端口有关。 如果你想检查服务使用的端口,你可以这样做。
netstat -ap | grep <service name>

nslookup 命令
Linux 中的 nslookup 命令,更为人所知的是名称服务器查找,主要用于使用 IP 地址获取主机名,反之亦然。 它还可以查询域名服务器的主机和域相关信息。 它可以在交互和非交互模式下工作。 虽然交互模式提供了更广泛的信息,但非交互模式仅返回带有特定请求信息的主机名。
1. nslookup 命令的基本语法
我们通过理解它的语法来最好地学习任何命令。 下面是 Linux 中 nslookup 命令的语法。
nslookup [-option] [command] [server name/address]
nslookup 命令使用了两个不同的 ‘ 选项。 首先,我们有 –timeout 选项。 顾名思义,它用于为我们的 DNS 查询设置初始超时。 第二个是 -query 选项,用于指定我们希望进行的 DNS 查询类型。 以下是一些常用查询类型及其用法的列表。
查询类型 | 功能 |
-查询=任何 | 搜索与指定主机名或 IP 地址关联的所有可用 DNS 记录 |
-查询=soa | 这是权威 DNS 记录查询类型的开始。 它返回域的邮件地址和序列号以及其他权威信息。 |
-查询=mx | “mx”或邮件交换查询列出了主机名的所有邮件交换服务器。 这些邮件交换服务器接收所有路由到主机名的邮件。 |
-查询=txt | 此查询类型对于查看指定主机名的所有 TXT 记录是必不可少的。 TXT 记录包含有关其他类型记录(如 SPF 和 DKIM)的基本信息。 |
nslookup – 命令选项片段表
当命令的第一个参数是地址或主机名时,我们进入非交互模式。 我们可以通过不使用参数或使用连字符作为第一个参数来进入交互模式。 交互模式为我们提供了广泛的命令。 让我们看看一些流行的。
命令 | 功能 |
主持人 [server] | 通过默认服务器或指定服务器搜索主机信息 |
服务器 [domain] | 将当前服务器设置为指定域。 |
设置端口 = [port number] | 更改我们向主机发送 DNS 查询的端口。 nslookup 命令的默认端口是 53。 |
设置重试 = [number] | 指定 nslookup 命令在失败时尝试连接到主机的次数。 |
nslookup 命令选项 – 表
我们仅列出了一些在 Linux 中可用于 nslookup 命令的基本命令。 因此,请务必自行检查其他命令以使用此命令的全部功能。
我们现在已经了解了 Linux 中的 nslookup 命令及其参数。 现在是时候将这些知识用于 nslookup 命令的实际应用了。 在本教程中,我们将通过一些示例来学习如何使用 nslookup 命令。
2.查找IP地址或主机名
对网络进行故障排除时,域的主机名和 IP 地址是两个最重要的信息。 当您知道主机名时,您可以像这样使用它来查找域的 IP 地址。
nslookup <IP or domain>

或者,您可以执行反向 DNS 查找并使用 IP 地址来查找域的主机名,如下所示。

3.检查DNS记录
DNS 记录为我们提供了有关域的广泛信息。 此信息对于网络管理和调试至关重要。 这是我们如何使用 -query 选项来搜索域的所有可用邮件交换器记录的方法。
nslookup -query=<record type> <domain or IP>

4.为查询指定DNS服务器
为了通过 DNS 查询访问特定信息,我们需要缩小我们希望用于查询的服务器。 这可以如下进行。
nslookup <domain or IP> <dns server to query>

总结
通过本教程,我们希望您能够了解 Linux 中 netstat 和 nslookup 命令的基础知识。 这些命令的应用比我们在这里讨论的要大得多,您可以通过掌握这些基础知识来实现。 如果您有任何反馈、疑问或建议,请随时在下面的评论中与我们联系。