什么是监听端口

17 Mar 2025 | 4 分钟阅读

通信协议类型,如UDP(用户数据报协议)TCP(传输控制协议),以及相关的 IP 地址和端口号,共同标识一个网络端口。网络端口就像监听端口一样。监听端口监听网络端口上的应用程序或进程。它就像一个通信端点。

通过防火墙,我们可以打开或关闭每个监听端口。开放端口可以定义为用于接受来自远程位置的传入数据包的网络端口。同一个端口不能在同一个IP地址上监听两个服务。

例如,假设我们使用端口 80 和 443 来监听和运行 Apache Web 服务器。在这种情况下,HTTPHTTPS 端口已经被使用。因此,如果我们尝试安装 Nginx,我们将无法启动它。

使用 netstat 检查监听端口

Netstat 被描述为一个命令行工具。它提供有关网络连接的信息。我们将使用以下命令来列出所有开放的监听端口,如 UDP 或 TCP,以及使用套接字状态和端口的服务。

What is Listening Port

其中

-l 用于指示所有监听套接字。

-t 用于指示所有 TCP 连接。

-u 用于指示所有 UDP 连接。

-p 用于指示监听器进程的名称或 PID。只有当我们以 sudo 用户或 root 用户身份运行命令时,才会显示此信息。

上述命令的输出显示在以下屏幕截图中

What is Listening Port

在我们的例子中,重要的列是

Proto: 显示套接字使用的协议。

Local Address: 显示监听端口的端口号和 IP 地址。

PID/Program name: 显示 PID 和进程名称。

如果我们想打印数值而不是服务名称,我们可以添加 -n 标志,如下所示

What is Listening Port

上述命令的输出如下

What is Listening Port

我们可以使用 grep 命令来过滤结果。使用此命令,我们可以找到在特定端口上监听的应用程序。

What is Listening Port

上述命令的输出如下

What is Listening Port

或者,我们可以找到什么应用程序在监听指定的端口,如下所示

What is Listening Port

上述命令的输出如下

What is Listening Port

如果输出为空,则表示没有任何应用程序在监听该端口。根据状态、PID、协议等标准,我们也可以过滤列表。

现在,netstat 已经过时了。因此,它被 ss 和 ip 取代,但如果我们想检查网络连接,netstat 命令仍然是最常用的命令之一。

使用 ss 检查监听端口

ss 命令被描述为新的 netstat。ss 缺少 netstat 的一些功能,但它比 netstat 稍快,并且可以公开更多的 TCP 状态。从 netstat 迁移到 ss 并不困难,因为这两个命令的命令选项大多相同。我们将使用以下命令来获取所有监听端口的列表。

What is Listening Port

netstat 命令和上述命令的输出几乎相同。

What is Listening Port

使用 Nmap 检查监听端口

Nmap 被描述为一个流行的且功能强大的端口扫描器和网络利用工具。我们可以使用默认的包管理器在我们的计算机上安装 nmap,如下所示;

What is Listening Port

我们将在 Linux 系统中运行以下命令,以扫描所有开放或监听的端口。完成此过程需要很长时间。

What is Listening Port

使用 lsof 检查监听端口

Isof 被描述为一个强大的命令行实用程序。它用于提供有关打开文件的信息。在 Linux 操作系统中,一切都是文件。套接字可能是一个网络文件或流,用于写入网络。

我们将使用 -i 选项来列出网络或互联网上所有可用的文件。此命令显示数字端口和服务名称的混合。

What is Listening Port

上述命令的输出如下

What is Listening Port

我们将以下面的形式运行 isof,以确定特定端口上的监听应用程序,如下所示

What is Listening Port

上述命令的输出如下

What is Listening Port

在以上部分中,我们已经解释了四种在Linux 操作系统中检查开放端口的方法。我们还了解了绑定到特定端口的进程。


下一个主题Robtex 有什么用途