我如何知道 TCP 端口是打开还是关闭? Ubuntu 22.04?

由于许多功能依赖于特定端口,因此了解端口的状态非常重要。 端口配置可以使应用程序正常运行以及远程访问。 有了开放端口的知识,我们可以保护我们的系统免受不需要和未经授权的访问,我们可以允许或拒绝特定端口上的任何类型的流量,它还可以帮助我们检测网络配置或连接中的问题。

在本文中,我们将讨论用于检查哪些 TCP 端口打开和关闭的不同方法。

我如何知道 TCP 端口是打开还是关闭? Ubuntu 22.04?

要查明 TCP 端口是打开还是关闭,可以使用多种方法 Ubuntu 4月22日方法有

  • 使用 lsof 命令。
  • 查看网络服务列表
  • 使用netstat命令。
  • 使用“ss”命令。
  • 使用“nmap”
  • 使用 bash 脚本
  • 使用netcat命令。

下面详细解释每种方法。

使用“lsof”检查端口是否打开或关闭

lsof 或列出打开文件命令列出有关进程当前打开的文件的信息。 虽然它用于列出打开的文件和进程中的文件,但它也可用于确定网络端口是打开还是关闭。 使用 lsof 命令的语法是:

拉索夫 [options]

这 ”[options]” 可用于显示所需的特定输出。 要查看打开的网络连接列表,请使用“-i”标签:

sudo 拉索夫 -我

这里这个“听到“一个”是存在的端口 打开。 要检查 TCP 端口是否打开,请使用以下命令:

sudo 拉索夫 -我 -P | grep 听到

“grep”过滤处于“LISTEN”状态的端口,“-P”用于显示端口号,“-i”用于显示所有打开的套接字。 以下 TCP 端口全部开放:

“lsof”还可以用于检查特定端口是否关闭或打开,命令如下:

sudo 拉索夫 -我 -P | grep :22

此命令检查端口 22 是否打开:

使用“netstat”检查端口是否打开或关闭

netstat 命令用于显示活动连接、开放端口和网络统计信息。 要使用 netstat,请使用以下命令:

sudo 网络统计

这将显示所有活动连接:

标志可以与 netstat 命令一起使用来根据您的需要显示它们。 要仅获取 TCP 端口,请使用以下命令:

sudo 网络统计 -tl

“-t”标志仅表示 TCP 连接,“l”标志表示将列出这些连接。 这只会显示 TCP 端口:

要使用 netstat 查看活动 TCP 端口,请使用以下命令:

sudo 网络统计 -tl | grep 听到

“grep”过滤列表并仅返回开放的 TCP 端口:

如果要检查特定 TCP 端口是否打开或关闭,请使用 netstat as 命令

sudo 网络统计 -tl | grep :22

grep 命令过滤并仅返回端口 22 连接。 在我们的例子中,端口已关闭,因此不会显示任何输出,并且命令行移至下一行:

使用“ss”命令检查端口是否打开或关闭

“ss”命令列出所有套接字和侦听套接字,并显示所建立的连接。 它比 netstat 命令更简单、更快。 要使用“ss”命令,请使用以下命令:

SS -tulpn

“-tulpn”显示所有 TCP/UDP 连接:

要仅查看 TCP 端口,请使用以下命令:

SS -tl

-tl 命令仅显示 TCP 端口连接:

现在,要仅显示打开的端口,请使用以下命令:

SS -tl | grep 听到

“grep”仅过滤打开连接的列表:

使用“nmap”检查端口是否打开或关闭

要检查远程主机上的端口状态,请使用 nmap 命令。 语法包括主机的 IP 地址和端口号:

地图 -P <端口号> <主机IP地址>

让我们考虑一下我的情况,其中主机系统名称是“tahakhan”,客户端是“ubuntu1”。 我的主机的 IP 地址是“192,168,184,130”。 要检查主机上所有 TCP 端口的状态,nmap 命令为:

地图 -P- 192,168,184,130

“-p-”指定扫描所有TCP端口。 返回过滤后的 TCP 端口:

使用“netcat”检查端口是否打开或关闭

netcat 命令用于通过连接到 TCP 端口来分析网络主机。 netcat 命令包含主机名和端口号来分析网络:

数控 -zv <主机名> <端口号>

“-zv”标志查找开放端口,而“nc”仅表示“netcat”。 要使用 Netcat 检查特定范围内的 TCP 端口的状态,请使用以下命令:

数控 -zv <主机名> <起始端口><端部连接>

在我们的例子中,主机“tahakhan”被扫描以查找 20 到 200 之间的开放端口:

数控 -zv 塔哈坎 20200

该命令从20端口到200端口一一扫描主机端口并返回状态。 如果说 ”连接成功“这意味着 TCP 端口存在 打开

您还可以使用 netcat 命令检查特定端口状态:

数控 -zv 塔哈坎 22

这将检查端口 22 的状态:

同样,要检查端口 64 的状态,请使用 netcat 命令:

数控 -zv 塔哈坎 64

如果端口关闭,连接将被拒绝,如我们的例子所示:

使用bash脚本检查端口是打开还是关闭

要使用 bash 脚本检查 TCP 端口是打开还是关闭,请使用以下语法:

/开发商/传输控制协议/主机名>/端口号>

可以修改此语法以在终端中使用。 要检查端口 22 是打开还是关闭,请使用如下 bash 脚本:

回声 >/开发商/传输控制协议/塔哈坎/22 &>/开发商/&& 回声 “端口开放” || 回声 “港口关闭”

如果 TCP 端口打开,echo 命令将显示“port open”,如我们的示例所示:

要检查端口 64 是否打开,请修改 bash 脚本,如下所示:

回声 >/开发商/传输控制协议/塔哈坎/64 &>/开发商/&& 回声 “端口开放” || 回声 “港口关闭”

现在,如果 TCP 端口关闭,终端中的 echo 命令将显示“端口已关闭”,如我们的示例所示:

查看网络服务列表,检查端口是否开放或关闭

文本文件“/etc/services”由服务名称和分配的端口号组成。 如果您查看该文件,您可以看到哪些端口是打开的。 要打开该文件,请使用以下命令:

/ETC/服务

突出显示的“使用任何 TCP 协议”表示这些端口已打开:

文凭

检查 TCP 端口是打开还是关闭 Ubuntu 22.04,“拉索夫“,”SS“,”网络统计“,”地图“,”网猫“, 和 ”重击” 命令被使用。 找出开放端口是系统管理员最重要的关注点之一,因为不检查它们可能会导致潜在的安全问题。 本文介绍了检查活动或打开的 TCP 端口的各种方法的分步过程。