[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]