检查Linux中端口是否打开的五种常用方法

 更新时间:2026年01月26日 09:13:13   作者:鸠摩智首席音效师  
在 Linux 中,端口是一个编号的网络连接,它允许设备通过 Internet 或本地网络与其他设备通信,确保端口是开放和可访问的非常重要,在本文中,我们将讨论五个检查 Linux 中端口是否打开的常用方法,需要的朋友可以参考下

在 Linux 中,端口是一个编号的网络连接,它允许设备通过 Internet 或本地网络与其他设备通信。确保端口是开放和可访问的非常重要,它确保网络业务的正常运行。在本文中,我们将讨论五个检查 Linux 中端口是否打开的常用方法。

Check Open Port on Remote Host

首先,检查一个端口是否打开并在远程主机上侦听。

Using nc Command

nc 命令允许您向端口发送数据,并查看是否收到响应。nc 命令基本语法如下:

nc -vz hostname port

例如,要检查主机 example.com 上的 22 端口是否打开,可以使用以下命令:

nc -vz example.com 22

如果端口打开,您将看到消息 “Connection to hostname port [ tcp/ssh ]succeeded”。如果端口关闭,您将看到消息 “Connection to hostname port [ tcp/ssh ] failed: Connection refused”。

Using telnet Command

telnet 命令用于连接到远程主机上的端口,看看是否建立了连接。查询端口是否打开,使用以下语法:

telnet hostname port

例如,要检查主机 www.example.com 上的 80 端口是否打开,可以使用以下命令:

telnet www.example.com 80

如果端口是打开的,您将看到一个空白屏幕。要退出,请按 CTRL + ],然后键入 quit。如果端口关闭,您将看到 “Connected to hostname. Escape character is ‘^]’. Connection closed by foreign host”

Using nmap Command

nmap 命令是一个执行网络扫描和探测的实用程序,它可以通过端口扫描来检查目标主机端口是否打开。要检查端口是否打开,使用以下语法:

nmap -p port hostname

例如,要检查主机 www.example.com 上的 80 端口是否打开,可以使用以下命令:

nmap -p 80 www.example.com

如果端口是打开的,您将在输出中看到一行,表明端口是打开的。如果端口已关闭,您将看到一行,指示端口已关闭。

Shell Script to Check Port Status

您可以创建一个 bash 脚本检查本地或远程主机上端口是否打开,示例脚本如下:

#!/usr/bin/env bash

HOST=192.168.10.100  #remote host
PORT=22  # Port to check

nc -z ${HOST} ${PORT}
if [ $? -eq 0 ]
then
    echo "Port is open"
else
    echo "Port is closed"
fi

这里 HOST 是远程或本地主机系统的主机名或 IP 地址。PORT 是要检查的端口号。,nc 命令可以连接到主机上的任何端口并返回状态。$? 是一个系统环境变量,包含最后一个命令的退出状态。

Check Listening Port on Localhost

很多时候,我们需要检查本地机器上是否有端口正在侦听。

Using lsof Command

lsof 命令是一个实用程序,用于显示有关打开文件的信息。要检查端口是否打开,使用以下语法:

lsof -i :port

例如,要检查 80 端口是否打开,可以使用以下命令:

lsof -i :80

如果端口打开,将看到一行,包含端口号和使用该端口的进程的名称。如果端口关闭,将看不到任何输出。

Using ss Command

ss 命令是一个显示网络套接字信息的实用程序。要检查端口是否打开,使用以下语法:

ss -lnp | grep port

例如,要检查 80 端口是否打开,可以使用以下命令:

ss -lnp | grep 80

如果端口打开,将看到一行,其中包含端口号和状态 LISTEN。如果端口关闭,将看不到任何输出。

注意: 您可能需要使用 sudo 来运行这些命令,这取决于您的系统配置。

到此这篇关于检查Linux中端口是否打开的五种常用方法的文章就介绍到这了,更多相关检查Linux中端口是否打开内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux 常用文本处理命令和vim文本编辑器

    Linux 常用文本处理命令和vim文本编辑器

    这篇文章主要介绍了Linux 常用文本处理命令和vim文本编辑器,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Linux递归修改后缀名实现方式

    Linux递归修改后缀名实现方式

    文章主要介绍了如何使用find、awk和xargs命令来递归地修改文件后缀名,通过find命令查找特定后缀的文件,awk命令提取文件路径,xargs命令将路径传递给`mv`命令进行重命名
    2025-11-11
  • 手把手教你启用Win10的Linux子系统(图文超详细)

    手把手教你启用Win10的Linux子系统(图文超详细)

    这篇文章主要介绍了手把手教你启用Win10的Linux子系统(图文超详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 如何给Linux虚拟机连上WiFi详解

    如何给Linux虚拟机连上WiFi详解

    这篇文章主要介绍了如何给Linux虚拟机连上WiFi,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Linux通过命令重启宝塔面板的操作步骤

    Linux通过命令重启宝塔面板的操作步骤

    本文介绍了如何在Linux服务器中通过命令行重启宝塔面板,包括通用重启命令、备选命令、验证重启成功的方法、特殊情况处理及补充的其他常用命令,需要的朋友可以参考下
    2026-01-01
  • Apache2.4和Apache2.2访问控制配置语法对比

    Apache2.4和Apache2.2访问控制配置语法对比

    这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache2.2访问控制配置语法的不同之处,需要的朋友可以参考下
    2015-04-04
  • Linux使用tcpdump捕获网络数据包的详细步骤

    Linux使用tcpdump捕获网络数据包的详细步骤

    在网络故障排查、协议分析或网络安全检测中,抓包工具是不可或缺的"利器",而tcpdump作为Linux系统中历史最悠久、功能最强大的命令行抓包工具,至今仍是工程师的首选,本文将从基础操作到实战技巧,带你掌握用tcpdump捕获网络数据包的完整流程,需要的朋友可以参考下
    2025-08-08
  • apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    今天在学习PHP时,用的是apache服务器有这样的一个需求:一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定,以下是我的解决方案,需要的朋友可以参考下
    2015-01-01
  • Linux下php连接SQLServer 2000数据库的配置方法

    Linux下php连接SQLServer 2000数据库的配置方法

    Linux服务器中的php程序能够连接到Windows服务器中的SQL Server 2000数据库,这里分享下配置方法,需要的朋友可以参考下
    2013-06-06
  • 在Linux系统上刷新DNS缓存的方法

    在Linux系统上刷新DNS缓存的方法

    DNS是互联网的一项服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用记住能够被机器直接读取的 IP 数串,但是,有时候我们可能需要刷新或清除 DNS 缓存,本文将详细介绍如何在Linux系统上刷新DNS缓存,需要的朋友可以参考下
    2024-06-06

最新评论