电子说
在Linux或类Unix系统下如何确定端口是否正在使用?如何验证 Linux 服务器上正在侦听哪些端口?如何使用 CLI 检查 Linux 操作系统上的端口是否正在使用?
验证哪些端口正在服务器网络接口上侦听非常重要。您需要注意开放端口以检测入侵。除了入侵之外,出于故障排除的目的,可能有必要检查端口是否已被服务器上的其他应用程序使用。
例如,您可以在同一系统上安装 Apache 和 Nginx 服务器。因此有必要知道 Apache 或 Nginx 是否正在使用 TCP 端口#80/443。本快速教程提供了使用 netstat、nmap 和 lsof 命令检查正在使用的端口并查看正在使用该端口的应用程序的步骤。
查看Linux上的监听端口和应用程序:
1.打开终端应用程序,即 shell 提示符。
2.在 Linux 上运行以下任一命令来查看开放端口:
3.对于最新版本的 Linux,请使用 ss 命令。例如,ss -tulw
让我们详细看看命令及其输出。
语法为: 示例输出:
考虑上面输出的最后一行:
sshd 85379 root 3u IPv4 0xffff80000039e000 0t0 TCP 10.86.128.138:22(监听)
/ etc/services是互联网服务的友好文本名称与其底层分配的端口号和协议类型之间的文本文件映射。使用cat命令或者more命令/ less命令查看:$less /etc/services
您可以使用netstat检查监听端口和应用程序,如下所示。
运行 netstat 命令和grep 命令来过滤掉处于 LISTEN 状态的端口: 或过滤掉特定的 TCP 端口,例如 443: 其中 netstat 命令选项为:
Linux 上的netstat 命令已弃用一段时间。因此,需要使用ss命令,如下:
其中,ss命令选项如下:
语法如下: 您也可以在 macOS 或 FreeBSD 上使用 sockstat 命令来显示打开的 TCP 或 UDP 端口。例如:我的FreeBSD 服务器版本13.xx 的输出:
语法是:
全部0条评论
快来发表一下你的评论吧 !