了解 Linux 中的 netstat 和 nslookup 命令

网络对任何 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 
网络统计A

3. 显示路由表

路由表包含有关网络主机和数据路由的信息。 此信息对于网络故障排除至关重要。 我们可以使用netstats命令来显示路由表如下。

netstat -r 
网络统计 R 1

4.检查哪个端口正在运行服务

当服务在尝试连接到网络时遇到问题时,通常是有关用于连接的端口的问题。 如果您想检查服务正在使用的端口,您可以这样做。

netstat -ap | grep <service name> 
Netstat 应用程序端口服务Netstat 应用程序端口服务

nslookup 命令

Linux 中的 nslookup 命令,也称为名称服务器查找,主要用于使用 IP 地址获取主机名,反之亦然。 它还可以查询域名服务器的主机和域相关信息。 它可以在交互和非交互模式下工作。 虽然交互模式提供了更广泛的信息,但非交互模式仅返回主机名以及特定请求的信息。

1. nslookup 命令的基本语法

我们通过理解它的语法来最好地学习任何命令。 Linux 中 nslookup 命令的语法如下所示。

nslookup [-option] [command] [server name/address] 

nslookup 命令有两个不同的选项。 首先,我们有 –timeout 选项。 顾名思义,它用于为我们的 DNS 查询设置初始超时。 第二个是 -query 选项,用于指定我们希望进行的 DNS 查询的类型。 以下是一些常用查询类型及其用法的列表。

查询类型 功能
-查询=任何 搜索与指定主机名或 IP 地址关联的所有可用 DNS 记录
-查询=声音 这是授权开始 DNS 记录查询类型。 它返回域的邮件地址和序列号以及其他权威信息。
-查询=mx ‘mx’ 或 Mail Exchange 查询列出主机名的所有邮件交换服务器。 这些邮件交换服务器接收所有路由到主机名的邮件。
-查询=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> 
Nslookup 域Nslookup 域

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

Nslookup 反向 DnsNslookup 反向 Dns

3.检查DNS记录

DNS 记录为我们提供了有关域的广泛信息。 此信息对于网络管理和调试至关重要。 以下是我们如何使用 -query 选项搜索域的所有可用邮件交换器记录。

nslookup -query=<record type> <domain or IP> 
Nslookup 邮件服务器Nslookup 邮件服务器

4. 为查询指定 DNS 服务器

为了通过 DNS 查询访问特定信息,我们需要缩小我们希望用于查询的服务器的范围。 这可以按如下方式完成。

nslookup <domain or IP> <dns server to query> 
Nslookup 查询特定的 DnsNslookup 查询特定的 Dns

包起来

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