如何在 Linux 中检查打开的端口

[ad_1]

介绍

在使用 Linux 系统时,有时您会遇到网络问题或者您必须配置防火墙。 在这些情况下,也许您需要检查特定端口是否打开?

本文将详细解释几种方法来确定您的 Linux 系统上打开了哪些端口。

本教程中的所有示例均在 Ubuntu 20.04 上执行。

什么是开放端口?

开放端口是接受来自外部的传入数据包的 TCP 或 UDP 网络端口。

例如,如果您的 Linux 系统上安装了 SSH 服务器,它将侦听端口 22。如果此端口在防火墙上打开,来自远程系统的用户将能够与您的系统建立 SSH 连接。 我们说端口 22 是一个开放端口。

请记住,我们应该只公开必要的端口,以便应用程序可以正常运行。 其他不必要的端口应关闭以避免安全风险。

使用 nmap 检查开放端口

Nmap 代表网络映射器。 它是一个有用且功能强大的实用程序,用于扫描网络上的主机和服务。

除了主机端口扫描功能,nmap 还可以发现 MAC 地址、操作系统、内核版本等。

默认情况下,Ubuntu 20.04 上未预装 nmap。 您可以通过运行以下命令来安装它:

$ sudo apt update
$ sudo apt install nmap

验证 nmap 是否安装成功:

$ nmap -version

输出:

现在,是时候使用 nmap 检查系统上的开放端口了。 让我们运行命令:

$ sudo nmap -sT -p- 10.128.0.2

输出:

其中:

-sT -p- 表示 nmap 将扫描所有 TCP 端口。

10.128.0.2 是您主机的内部 IP 地址。

如果要扫描 UDP 端口,请使用 -sU 选项运行 nmap:

$ sudo nmap -sU -p- 10.128.0.2

输出:

使用 netcat 检查开放端口

Netcat 是一个强大的命令行工具,用于执行网络操作。 它使用 TCP 和 UDP 协议跨网络读取和写入数据。

Necat 也可用于扫描和重定向网络端口。

如果要检查 IP 为 10.128.0.2 的 Ubuntu 20.04 机器上 20-25 范围内的开放端口,请运行以下命令:

$ netcat -z -v 10.128.0.2 20-50

输出:

其中:

-z 表示 netcat 只扫描开放端口

-v 向终端发送详细信息

如果您只想显示打开的端口,可以运行:

$ netcat -z -v 10.128.0.2 20-80 2>&1 | grep succeeded

输出:

要扫描 UDP 中的端口,让我们使用 -u 选项,如下所示:

$ netcat -z -v -u 10.128.0.2 20-80 2>&1 | grep succeeded

输出:

结论

本教程向您展示了一些可用于检查 Linux 系统上开放端口的常用工具。

如果您有任何疑问,请在评论部分告诉我。

[ad_2]

Related Posts